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 171700 47afb5f53400ae518baa1a78fffb688479d5d635
parent 171699 af11210cba85352eb81d61f3d20db3a3d88a73ce
child 171701 bfb989c28ffbca08b62118d1e28527adc5a1792c
push id5186
push usercbook@mozilla.com
push dateTue, 04 Mar 2014 14:14:36 +0000
treeherderb2g-inbound@16b740f7e47d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersglandium
bugs978784
milestone30.0a1
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"