summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorJob Bautista <jobbautista9@aol.com>2023-03-24 17:45:16 +0800
committerJob Bautista <jobbautista9@aol.com>2023-03-24 17:45:16 +0800
commitee870812ffeac2731af182d8388367635e84242d (patch)
tree7aeeacf67346a912bc4cb3ef56d38cd8f5b63fb9 /build
parent0c63f5a27346875dd04c8bb41eced35203d20567 (diff)
downloaduxp-ee870812ffeac2731af182d8388367635e84242d.tar.gz
Revert "Issue #2165 - Follow-up: No longer support bundling the ICU data file into packaging, fold it into the ICU shared library, and always build ICU shared."
This reverts commit 0c63f5a27346875dd04c8bb41eced35203d20567. Building shared ICU is currently broken in non-Windows, so we need the option for now.
Diffstat (limited to 'build')
-rw-r--r--build/autoconf/icu.m415
-rw-r--r--build/moz.configure/old.configure1
2 files changed, 16 insertions, 0 deletions
diff --git a/build/autoconf/icu.m4 b/build/autoconf/icu.m4
index 2dfa2303da..2530f6a69c 100644
--- a/build/autoconf/icu.m4
+++ b/build/autoconf/icu.m4
@@ -32,17 +32,32 @@ if test -n "$USE_ICU"; then
# We could make this set as 'l' or 'b' for little or big, respectively,
# but we'd need to check in a big-endian version of the file.
ICU_DATA_FILE="icudt${version}l.dat"
+
+ dnl We won't build ICU data as a separate file when building
+ dnl ICU as a shared library, as we need to fold the data into
+ dnl the shared library in order for consumers like Spidermonkey
+ dnl to use it without code duplication.
+ if test -z "$MOZ_SHARED_ICU"; then
+ MOZ_ICU_DATA_ARCHIVE=1
+ else
+ MOZ_ICU_DATA_ARCHIVE=
+ fi
fi
AC_SUBST(MOZ_ICU_VERSION)
AC_SUBST(ENABLE_INTL_API)
AC_SUBST(USE_ICU)
AC_SUBST(ICU_DATA_FILE)
+AC_SUBST(MOZ_ICU_DATA_ARCHIVE)
+AC_SUBST(MOZ_SHARED_ICU)
if test -n "$USE_ICU"; then
if test -z "$YASM" -a -z "$GNU_AS" -a "$COMPILE_ENVIRONMENT"; then
AC_MSG_ERROR([Building ICU requires either yasm or a GNU assembler. If you do not have either of those available for this platform you must use --without-intl-api])
fi
+ if test -z "$MOZ_SHARED_ICU"; then
+ AC_DEFINE(U_STATIC_IMPLEMENTATION)
+ fi
dnl Source files that use ICU should have control over which parts of the ICU
dnl namespace they want to use.
AC_DEFINE(U_USING_ICU_NAMESPACE,0)
diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure
index 527384839a..64e91e1f31 100644
--- a/build/moz.configure/old.configure
+++ b/build/moz.configure/old.configure
@@ -227,6 +227,7 @@ def old_configure_options(*options):
'--enable-safe-browsing',
'--enable-sandbox',
'--enable-security-sqlstore',
+ '--enable-shared-icu',
'--enable-shared-media',
'--enable-signmar',
'--enable-simulator',