bug 1247396 - drop support for MOZ_SHARED_ICU. r?glandium
MozReview-Commit-ID: 54AQdzJqvvA
--- a/b2g/installer/Makefile.in
+++ b/b2g/installer/Makefile.in
@@ -97,19 +97,16 @@ endif
ifneq (,$(filter rtsp,$(NECKO_PROTOCOLS)))
DEFINES += -DMOZ_RTSP
endif
DEFINES += -DMOZ_ICU_VERSION=$(MOZ_ICU_VERSION)
ifdef MOZ_SYSTEM_ICU
DEFINES += -DMOZ_SYSTEM_ICU
endif
-ifdef MOZ_SHARED_ICU
-DEFINES += -DMOZ_SHARED_ICU
-endif
DEFINES += -DMOZ_ICU_DBG_SUFFIX=$(MOZ_ICU_DBG_SUFFIX)
DEFINES += -DICU_DATA_FILE=$(ICU_DATA_FILE)
ifdef MOZ_WIDGET_GTK
DEFINES += -DMOZ_GTK=1
ifdef MOZ_ENABLE_GTK3
DEFINES += -DMOZ_GTK3=1
endif
--- a/b2g/installer/package-manifest.in
+++ b/b2g/installer/package-manifest.in
@@ -68,31 +68,16 @@
#endif
#if MOZ_PACKAGE_WIN_UCRT_DLLS
@BINPATH@/api-ms-win-*.dll
@BINPATH@/ucrtbase.dll
#endif
#endif
#ifndef MOZ_SYSTEM_ICU
@RESPATH@/@ICU_DATA_FILE@
-#ifdef MOZ_SHARED_ICU
-#ifdef XP_WIN
-@BINPATH@/icudt@MOZ_ICU_DBG_SUFFIX@@MOZ_ICU_VERSION@.dll
-@BINPATH@/icuin@MOZ_ICU_DBG_SUFFIX@@MOZ_ICU_VERSION@.dll
-@BINPATH@/icuuc@MOZ_ICU_DBG_SUFFIX@@MOZ_ICU_VERSION@.dll
-#elif defined(XP_MACOSX)
-@BINPATH@/libicudata.@MOZ_ICU_VERSION@.dylib
-@BINPATH@/libicui18n.@MOZ_ICU_VERSION@.dylib
-@BINPATH@/libicuuc.@MOZ_ICU_VERSION@.dylib
-#elif defined(XP_UNIX)
-@BINPATH@/libicudata.so.@MOZ_ICU_VERSION@
-@BINPATH@/libicui18n.so.@MOZ_ICU_VERSION@
-@BINPATH@/libicuuc.so.@MOZ_ICU_VERSION@
-#endif
-#endif
#endif
#ifdef MOZ_SHARED_MOZGLUE
@BINPATH@/@DLL_PREFIX@mozglue@DLL_SUFFIX@
#endif
#ifdef ANDROID
@RESPATH@/AndroidManifest.xml
@RESPATH@/resources.arsc
@RESPATH@/classes.dex
--- a/browser/installer/Makefile.in
+++ b/browser/installer/Makefile.in
@@ -116,19 +116,16 @@ LPROJ_ROOT := $(subst -,_,$(AB_CD))
endif
endif
DEFINES += -DLPROJ_ROOT=$(LPROJ_ROOT)
DEFINES += -DMOZ_ICU_VERSION=$(MOZ_ICU_VERSION)
ifdef MOZ_SYSTEM_ICU
DEFINES += -DMOZ_SYSTEM_ICU
endif
-ifdef MOZ_SHARED_ICU
-DEFINES += -DMOZ_SHARED_ICU
-endif
DEFINES += -DMOZ_ICU_DBG_SUFFIX=$(MOZ_ICU_DBG_SUFFIX)
DEFINES += -DICU_DATA_FILE=$(ICU_DATA_FILE)
ifdef CLANG_CXX
DEFINES += -DCLANG_CXX
endif
ifdef CLANG_CL
DEFINES += -DCLANG_CL
endif
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -94,31 +94,16 @@
#endif
#if MOZ_PACKAGE_WIN_UCRT_DLLS
@BINPATH@/api-ms-win-*.dll
@BINPATH@/ucrtbase.dll
#endif
#endif
#ifndef MOZ_SYSTEM_ICU
@RESPATH@/@ICU_DATA_FILE@
-#ifdef MOZ_SHARED_ICU
-#ifdef XP_WIN
-@BINPATH@/icudt@MOZ_ICU_DBG_SUFFIX@@MOZ_ICU_VERSION@.dll
-@BINPATH@/icuin@MOZ_ICU_DBG_SUFFIX@@MOZ_ICU_VERSION@.dll
-@BINPATH@/icuuc@MOZ_ICU_DBG_SUFFIX@@MOZ_ICU_VERSION@.dll
-#elif defined(XP_MACOSX)
-@BINPATH@/libicudata.@MOZ_ICU_VERSION@.dylib
-@BINPATH@/libicui18n.@MOZ_ICU_VERSION@.dylib
-@BINPATH@/libicuuc.@MOZ_ICU_VERSION@.dylib
-#elif defined(XP_UNIX)
-@BINPATH@/libicudata.so.@MOZ_ICU_VERSION@
-@BINPATH@/libicui18n.so.@MOZ_ICU_VERSION@
-@BINPATH@/libicuuc.so.@MOZ_ICU_VERSION@
-#endif
-#endif
#endif
#ifdef MOZ_GTK3
@BINPATH@/@DLL_PREFIX@mozgtk@DLL_SUFFIX@
@BINPATH@/gtk2/@DLL_PREFIX@mozgtk@DLL_SUFFIX@
#endif
[browser]
; [Base Browser Files]
--- a/build/autoconf/icu.m4
+++ b/build/autoconf/icu.m4
@@ -1,29 +1,26 @@
dnl This Source Code Form is subject to the terms of the Mozilla Public
dnl License, v. 2.0. If a copy of the MPL was not distributed with this
dnl file, You can obtain one at http://mozilla.org/MPL/2.0/.
dnl Set the MOZ_ICU_VERSION variable to denote the current version of the
-dnl ICU library, and also the MOZ_SHARED_ICU which would be true if we are
-dnl linking against a shared library of ICU, either one that we build from
-dnl our copy of ICU or the system provided library.
+dnl ICU library, as well as a few other things.
AC_DEFUN([MOZ_CONFIG_ICU], [
ICU_LIB_NAMES=
MOZ_SYSTEM_ICU=
MOZ_ARG_WITH_BOOL(system-icu,
[ --with-system-icu
Use system ICU (located with pkgconfig)],
MOZ_SYSTEM_ICU=1)
if test -n "$MOZ_SYSTEM_ICU"; then
PKG_CHECK_MODULES(MOZ_ICU, icu-i18n >= 50.1)
- MOZ_SHARED_ICU=1
else
MOZ_ICU_INCLUDES="/intl/icu/source/common /intl/icu/source/i18n"
fi
AC_SUBST_LIST(MOZ_ICU_INCLUDES)
AC_SUBST(MOZ_SYSTEM_ICU)
MOZ_ARG_WITH_STRING(intl-api,
@@ -74,32 +71,23 @@ if test -n "$USE_ICU"; then
fi
version=`sed -n 's/^[[:space:]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
if test x"$version" = x; then
AC_MSG_ERROR([cannot determine icu version number from uvernum.h header file $lineno])
fi
MOZ_ICU_VERSION="$version"
- if test "$OS_TARGET" = WINNT; then
- MOZ_SHARED_ICU=1
- fi
-
- if test -z "${JS_STANDALONE}" -a -n "${JS_SHARED_LIBRARY}${MOZ_SYSTEM_ICU}"; then
- MOZ_SHARED_ICU=1
- fi
-
AC_SUBST(MOZ_ICU_VERSION)
- AC_SUBST(MOZ_SHARED_ICU)
if test -z "$MOZ_SYSTEM_ICU"; then
case "$OS_TARGET" in
WINNT)
- ICU_LIB_NAMES="icuin icuuc"
- ICU_DATA_LIB=icudt
+ ICU_LIB_NAMES="sicuin sicuuc"
+ ICU_DATA_LIB=sicudt
MOZ_ICU_DBG_SUFFIX=
if test -n "$MOZ_DEBUG" -a -z "$MOZ_NO_DEBUG_RTL"; then
MOZ_ICU_DBG_SUFFIX=d
fi
;;
Darwin|Linux|DragonFly|FreeBSD|NetBSD|OpenBSD|GNU/kFreeBSD|SunOS|Android)
ICU_LIB_NAMES="icui18n icuuc"
ICU_DATA_LIB=icudata
@@ -126,20 +114,18 @@ AC_SUBST(MOZ_ICU_DBG_SUFFIX)
AC_SUBST(ENABLE_INTL_API)
AC_SUBST(USE_ICU)
AC_SUBST_LIST(ICU_LIB_NAMES)
AC_SUBST(ICU_DATA_LIB)
AC_SUBST(ICU_DATA_FILE)
AC_SUBST(MOZ_ICU_DATA_ARCHIVE)
if test -n "$USE_ICU" -a -z "$MOZ_SYSTEM_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)
- fi
+ dnl We build ICU as a static library.
+ AC_DEFINE(U_STATIC_IMPLEMENTATION)
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
])
@@ -213,22 +199,19 @@ if test -z "$BUILDING_JS" -o -n "$JS_STA
ICU_CROSS_BUILD_OPT="--with-cross-build=$ICU_HOST_PATH --disable-tools"
ICU_TARGET_OPT="--build=$build --host=$target"
else
# CROSS_COMPILE isn't set build and target are i386 and x86-64.
# So we must set target for --build and --host.
ICU_TARGET_OPT="--build=$target --host=$target"
fi
- if test -z "$MOZ_SHARED_ICU"; then
- # To reduce library size, use static linking
- ICU_LINK_OPTS="--enable-static --disable-shared"
- else
- ICU_LINK_OPTS="--disable-static --enable-shared"
- fi
+ # To reduce library size, use static linking
+ ICU_LINK_OPTS="--enable-static --disable-shared"
+
# Force the ICU static libraries to be position independent code
ICU_CFLAGS="$DSO_PIC_CFLAGS $CFLAGS"
ICU_CXXFLAGS="$DSO_PIC_CFLAGS $CXXFLAGS"
ICU_BUILD_OPTS=""
if test -n "$MOZ_DEBUG" -o "MOZ_DEBUG_SYMBOLS"; then
ICU_CFLAGS="$ICU_CFLAGS $MOZ_DEBUG_FLAGS"
ICU_CXXFLAGS="$ICU_CXXFLAGS $MOZ_DEBUG_FLAGS"
@@ -294,23 +277,21 @@ if test -z "$BUILDING_JS" -o -n "$JS_STA
fi
if test -n "$gonkdir"; then
ICU_CXXFLAGS="-I$gonkdir/abi/cpp/include $ICU_CXXFLAGS"
elif test "$OS_TARGET" = Android -a "$MOZ_ANDROID_CXX_STL" = mozstlport; then
ICU_CXXFLAGS="-I$_topsrcdir/build/gabi++/include $ICU_CXXFLAGS"
fi
- if test -z "$MOZ_SHARED_ICU"; then
- ICU_CXXFLAGS="$ICU_CXXFLAGS -DU_STATIC_IMPLEMENTATION"
- ICU_CFLAGS="$ICU_CFLAGS -DU_STATIC_IMPLEMENTATION"
- if test "$GNU_CC"; then
- ICU_CFLAGS="$ICU_CFLAGS -fvisibility=hidden"
- ICU_CXXFLAGS="$ICU_CXXFLAGS -fvisibility=hidden"
- fi
+ ICU_CXXFLAGS="$ICU_CXXFLAGS -DU_STATIC_IMPLEMENTATION"
+ ICU_CFLAGS="$ICU_CFLAGS -DU_STATIC_IMPLEMENTATION"
+ if test "$GNU_CC"; then
+ ICU_CFLAGS="$ICU_CFLAGS -fvisibility=hidden"
+ ICU_CXXFLAGS="$ICU_CXXFLAGS -fvisibility=hidden"
fi
(export AR="$AR"
export RANLIB="$RANLIB"
export CC="$CC"
export CXX="$CXX"
export LD="$LD"
export ARFLAGS="$ARFLAGS"
--- a/config/external/icu/Makefile.in
+++ b/config/external/icu/Makefile.in
@@ -1,52 +1,24 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# Ensure that this happens before including rules.mk
ifdef USE_ICU
ifndef MOZ_SYSTEM_ICU
- # Library names: On Windows, ICU uses modified library names for static
- # and debug libraries.
- ifdef MOZ_SHARED_ICU
- ifeq ($(OS_ARCH),WINNT)
- ICU_FILES := $(foreach libname,$(ICU_LIB_NAMES),$(DEPTH)/intl/icu/target/lib/$(libname)$(MOZ_ICU_DBG_SUFFIX)$(MOZ_ICU_VERSION).dll)
- ifdef MOZ_ICU_DATA_ARCHIVE
- ICU_FILES += $(DEPTH)/intl/icu/target/stubdata/$(ICU_DATA_LIB)$(MOZ_ICU_DBG_SUFFIX)$(MOZ_ICU_VERSION).dll
- endif
- else # ! WINNT
- ifeq ($(OS_ARCH),Darwin)
- ICU_FILES := $(foreach libname,$(ICU_LIB_NAMES),$(DEPTH)/intl/icu/target/lib/$(DLL_PREFIX)$(libname).$(MOZ_ICU_VERSION)$(DLL_SUFFIX))
- ifdef MOZ_ICU_DATA_ARCHIVE
- ICU_FILES += $(DEPTH)/intl/icu/target/stubdata/$(DLL_PREFIX)$(ICU_DATA_LIB).$(MOZ_ICU_VERSION)$(DLL_SUFFIX)
- endif
- else # ! Darwin
- ICU_FILES := $(foreach libname,$(ICU_LIB_NAMES),$(DEPTH)/intl/icu/target/lib/$(DLL_PREFIX)$(libname)$(DLL_SUFFIX).$(MOZ_ICU_VERSION))
- ifdef MOZ_ICU_DATA_ARCHIVE
- ICU_FILES += $(DEPTH)/intl/icu/target/stubdata/$(DLL_PREFIX)$(ICU_DATA_LIB)$(DLL_SUFFIX).$(MOZ_ICU_VERSION)
- endif
- endif
- endif # WINNT
- else # !MOZ_SHARED_ICU
- ifeq ($(OS_ARCH),WINNT)
- $(error Windows non-shared-ICU is not currently supported)
- endif
- endif # MOZ_SHARED_ICU
-
- ifdef MOZ_ICU_DATA_ARCHIVE
- ICU_FILES += $(DEPTH)/intl/icu/target/data/out/$(ICU_DATA_FILE)
- endif
- ifdef ICU_FILES
- ICU_DEST := $(DIST)/bin
- INSTALL_TARGETS += ICU
- $(ICU_FILES): buildicu
- ICU_TARGET := target
- endif
-
+ ifdef MOZ_ICU_DATA_ARCHIVE
+ ICU_FILES += $(DEPTH)/intl/icu/target/data/out/$(ICU_DATA_FILE)
+ endif
+ ifdef ICU_FILES
+ ICU_DEST := $(DIST)/bin
+ INSTALL_TARGETS += ICU
+ $(ICU_FILES): buildicu
+ ICU_TARGET := target
+ endif
endif # !MOZ_SYSTEM_ICU
endif # USE_ICU
include $(topsrcdir)/config/rules.mk
ifdef USE_ICU
ifndef MOZ_SYSTEM_ICU
--- a/config/external/icu/moz.build
+++ b/config/external/icu/moz.build
@@ -6,25 +6,23 @@
Library('icu')
if CONFIG['MOZ_SYSTEM_ICU']:
OS_LIBS += CONFIG['MOZ_ICU_LIBS']
else:
# Order needs to be preserved
for l in CONFIG['ICU_LIB_NAMES']:
- USE_LIBS += ['%s/intl/icu/target/lib/%s%s' % (
- 'static:' if not CONFIG['MOZ_SHARED_ICU'] else '',
+ USE_LIBS += ['static:/intl/icu/target/lib/%s%s' % (
l,
CONFIG['MOZ_ICU_DBG_SUFFIX']
)]
if CONFIG['MOZ_ICU_DATA_ARCHIVE']:
# Link the stubdata lib as well.
- USE_LIBS += ['%s/intl/icu/target/stubdata/%s%s' % (
- 'static:' if not CONFIG['MOZ_SHARED_ICU'] else '',
+ USE_LIBS += ['static:/intl/icu/target/stubdata/%s%s' % (
CONFIG['ICU_DATA_LIB'],
CONFIG['MOZ_ICU_DBG_SUFFIX']
)]
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
OS_LIBS += [
'gabi++',
]
--- a/config/moz.build
+++ b/config/moz.build
@@ -21,18 +21,18 @@ CONFIGURE_SUBST_FILES += [
if CONFIG['HOST_OS_ARCH'] != 'WINNT':
HOST_SOURCES += [
'nsinstall.c',
'pathsub.c',
]
HostProgram('nsinstall_real')
-if CONFIG['MOZ_SHARED_ICU']:
- DEFINES['MOZ_SHARED_ICU'] = True
+if CONFIG['MOZ_SYSTEM_ICU']:
+ DEFINES['MOZ_SYSTEM_ICU'] = True
PYTHON_UNIT_TESTS += [
'tests/test_mozbuild_reading.py',
'tests/unit-expandlibs.py',
'tests/unit-mozunit.py',
'tests/unit-nsinstall.py',
'tests/unit-printprereleasesuffix.py',
]
--- a/config/system-headers
+++ b/config/system-headers
@@ -1318,17 +1318,17 @@ gst/video/video.h
sys/msg.h
sys/ipc.h
sys/thr.h
sys/user.h
kvm.h
spawn.h
err.h
xlocale.h
-#ifdef MOZ_SHARED_ICU
+#ifdef MOZ_SYSTEM_ICU
unicode/locid.h
unicode/numsys.h
unicode/timezone.h
unicode/ucal.h
unicode/uchar.h
unicode/uclean.h
unicode/ucol.h
unicode/udat.h
--- a/toolkit/mozapps/installer/upload-files.mk
+++ b/toolkit/mozapps/installer/upload-files.mk
@@ -82,39 +82,16 @@ JSSHELL_BINS += \
$(DLL_PREFIX)nspr4$(DLL_SUFFIX) \
$(DLL_PREFIX)plds4$(DLL_SUFFIX) \
$(DLL_PREFIX)plc4$(DLL_SUFFIX) \
$(NULL)
endif # MOZ_FOLD_LIBS
endif # MOZ_SYSTEM_NSPR
ifdef USE_ICU
JSSHELL_BINS += $(ICU_DATA_FILE)
-ifdef MOZ_SHARED_ICU
-ifeq ($(OS_TARGET), WINNT)
-JSSHELL_BINS += \
- icudt$(MOZ_ICU_DBG_SUFFIX)$(MOZ_ICU_VERSION).dll \
- icuin$(MOZ_ICU_DBG_SUFFIX)$(MOZ_ICU_VERSION).dll \
- icuuc$(MOZ_ICU_DBG_SUFFIX)$(MOZ_ICU_VERSION).dll \
- $(NULL)
-else
-ifeq ($(OS_TARGET), Darwin)
-JSSHELL_BINS += \
- libicudata.$(MOZ_ICU_VERSION).dylib \
- libicui18n.$(MOZ_ICU_VERSION).dylib \
- libicuuc.$(MOZ_ICU_VERSION).dylib \
- $(NULL)
-else
-JSSHELL_BINS += \
- libicudata.so.$(MOZ_ICU_VERSION) \
- libicui18n.so.$(MOZ_ICU_VERSION) \
- libicuuc.so.$(MOZ_ICU_VERSION) \
- $(NULL)
-endif # Darwin
-endif # WINNT
-endif # MOZ_SHARED_ICU
endif # USE_ICU
MAKE_JSSHELL = $(call py_action,zip,-C $(DIST)/bin $(abspath $(PKG_JSSHELL)) $(JSSHELL_BINS))
JARLOG_DIR = $(topobjdir)/jarlog/
JARLOG_FILE_AB_CD = $(JARLOG_DIR)/$(AB_CD).log
TAR_CREATE_FLAGS := --exclude=.mkdir.done $(TAR_CREATE_FLAGS)
CREATE_FINAL_TAR = $(TAR) -c --owner=0 --group=0 --numeric-owner \