Bug 978784 - Stop exporting ICU symbols from xul.dll; r=glandium
☠☠ backed out by bfb989c28ffb ☠ ☠
authorEhsan Akhgari <ehsan@mozilla.com>
Mon, 03 Mar 2014 22:38:55 -0500
changeset 189892 47afb5f53400ae518baa1a78fffb688479d5d635
parent 189891 af11210cba85352eb81d61f3d20db3a3d88a73ce
child 189893 bfb989c28ffbca08b62118d1e28527adc5a1792c
push id474
push userasasaki@mozilla.com
push dateMon, 02 Jun 2014 21:01:02 +0000
treeherdermozilla-release@967f4cf1b31c [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersglandium
bugs978784
milestone30.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 978784 - Stop exporting ICU symbols from xul.dll; r=glandium
CLOBBER
build/autoconf/icu.m4
--- a/CLOBBER
+++ b/CLOBBER
@@ -17,9 +17,9 @@
 #
 # Modifying this file will now automatically clobber the buildbot machines \o/
 #
 
 # Are you updating CLOBBER because you think it's needed for your WebIDL
 # changes to stick? As of bug 928195, this shouldn't be necessary! Please
 # don't change CLOBBER for WebIDL changes any more.
 
-Update CLOBBER for bug 939672 moves file location and requires clobber build.
+Update CLOBBER for bug 978784 because it touches the ICU build system.
--- a/build/autoconf/icu.m4
+++ b/build/autoconf/icu.m4
@@ -114,37 +114,40 @@ if test -n "$ENABLE_INTL_API"; then
 fi
 
 AC_SUBST(DBG_SUFFIX)
 AC_SUBST(ENABLE_INTL_API)
 AC_SUBST(ICU_LIB_NAMES)
 AC_SUBST(MOZ_ICU_LIBS)
 
 if test -n "$ENABLE_INTL_API" -a -z "$MOZ_NATIVE_ICU"; then
-    dnl We build ICU as a static library for non-shared js builds and as a shared library for shared js builds.
     if test -z "$MOZ_SHARED_ICU"; then
         AC_DEFINE(U_STATIC_IMPLEMENTATION)
-    else
-        AC_DEFINE(U_COMBINED_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)
 fi
 
 
 ])
 
 AC_DEFUN([MOZ_SUBCONFIGURE_ICU], [
 
 if test -z "$BUILDING_JS" -o -n "$JS_STANDALONE"; then
 
     if test -n "$ENABLE_INTL_API" -a -z "$MOZ_NATIVE_ICU"; then
         # Set ICU compile options
         ICU_CPPFLAGS=""
+        dnl We build ICU as a static library for non-shared js builds and as a shared library for shared js builds.
+        if test -z "$MOZ_SHARED_ICU"; then
+            ICU_CPPFLAGS="$ICU_CPPFLAGS -DU_STATIC_IMPLEMENTATION"
+        else
+            ICU_CPPFLAGS="$ICU_CPPFLAGS -DU_COMBINED_IMPLEMENTATION"
+        fi
         # don't use icu namespace automatically in client code
         ICU_CPPFLAGS="$ICU_CPPFLAGS -DU_USING_ICU_NAMESPACE=0"
         # don't include obsolete header files
         ICU_CPPFLAGS="$ICU_CPPFLAGS -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1"
         # remove chunks of the library that we don't need (yet)
         ICU_CPPFLAGS="$ICU_CPPFLAGS -DUCONFIG_NO_LEGACY_CONVERSION"
         ICU_CPPFLAGS="$ICU_CPPFLAGS -DUCONFIG_NO_TRANSLITERATION"
         ICU_CPPFLAGS="$ICU_CPPFLAGS -DUCONFIG_NO_REGULAR_EXPRESSIONS"