summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Module_tail_build.mk1
-rw-r--r--RepositoryExternal.mk13
-rw-r--r--RepositoryModule_ooo.mk1
-rw-r--r--editeng/Library_editeng.mk5
-rw-r--r--forms/Library_frm.mk1
-rw-r--r--hunspell/StaticLibrary_hunspell.mk2
-rw-r--r--i18npool/CppunitTest_i18npool_test_breakiterator.mk2
-rw-r--r--i18npool/CppunitTest_i18npool_test_textsearch.mk1
-rw-r--r--i18npool/Executable_gencoll_rule.mk1
-rw-r--r--i18npool/Library_i18npool.mk1
-rw-r--r--i18npool/Library_i18nsearch.mk1
-rw-r--r--i18nutil/Library_i18nutil.mk2
-rw-r--r--icu/ExternalPackage_icu.mk88
-rw-r--r--icu/ExternalProject_icu.mk85
-rw-r--r--icu/Makefile7
-rw-r--r--icu/Module_icu.mk21
-rw-r--r--icu/UnpackedTarball_icu.mk44
-rw-r--r--icu/UnpackedTarball_icu_data.mk14
-rw-r--r--icu/icu4c-buffer-overflow.patch4
-rw-r--r--icu/icu4c-mkdir.patch2
-rw-r--r--icu/icu4c-solarisgcc.patch18
-rw-r--r--icu/icu4c-warnings.patch2
-rw-r--r--icu/makefile.mk352
-rw-r--r--icu/prj/build.lst2
-rw-r--r--icu/prj/d.lst49
-rw-r--r--icu/prj/dmake0
-rw-r--r--l10ntools/Executable_helpex.mk1
-rw-r--r--l10ntools/Executable_stringex.mk1
-rw-r--r--l10ntools/Executable_transex3.mk1
-rw-r--r--l10ntools/Executable_treex.mk3
-rw-r--r--l10ntools/Executable_uiex.mk1
-rw-r--r--l10ntools/Executable_xrmex.mk1
-rw-r--r--l10ntools/StaticLibrary_transex.mk5
-rw-r--r--linguistic/Library_lng.mk5
-rw-r--r--lotuswordpro/Library_lwpft.mk1
-rw-r--r--solenv/gbuild/UnpackedTarball.mk2
-rw-r--r--svtools/Library_svt.mk1
-rw-r--r--svx/Library_svx.mk5
-rw-r--r--sw/Library_msword.mk1
-rw-r--r--sw/Library_sw.mk1
-rw-r--r--tail_build/prj/build.lst2
-rw-r--r--vcl/Library_vcl.mk1
42 files changed, 328 insertions, 423 deletions
diff --git a/Module_tail_build.mk b/Module_tail_build.mk
index b8c21ac05733..5aab2bda2ffa 100644
--- a/Module_tail_build.mk
+++ b/Module_tail_build.mk
@@ -86,6 +86,7 @@ $(eval $(call gb_Module_add_moduledirs,tail_build,\
$(call gb_Helper_optional,HYPHEN,hyphen) \
i18npool \
i18nutil \
+ $(call gb_Helper_optional,ICU,icu) \
idl \
$(call gb_Helper_optional,DESKTOP,idlc) \
io \
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 7798c79b28d3..57884e8cb7eb 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -873,6 +873,8 @@ endif # SYSTEM_GRAPHITE
ifeq ($(SYSTEM_ICU),YES)
+gb_LinkTarget__use_icu_headers:=
+
define gb_LinkTarget__use_icudata
$(call gb_LinkTarget_add_libs,$(1),-licudata)
@@ -902,6 +904,17 @@ else
gb_ICU_suffix:=
endif
+define gb_LinkTarget__use_icu_headers
+$(call gb_LinkTarget_use_unpacked,$(1),icu)
+$(call gb_LinkTarget_set_include,$(1),\
+ -I$(call gb_UnpackedTarball_get_dir,icu)/source \
+ -I$(call gb_UnpackedTarball_get_dir,icu)/source/common \
+ -I$(call gb_UnpackedTarball_get_dir,icu)/source/i18n \
+ $$(INCLUDE) \
+)
+
+endef
+
# icudata and icui18n is called icudt and icuin when built with MSVC :-/
ifeq ($(OS)$(COM),WNTMSC)
$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
diff --git a/RepositoryModule_ooo.mk b/RepositoryModule_ooo.mk
index 4ddde5598add..c09aa34a65b0 100644
--- a/RepositoryModule_ooo.mk
+++ b/RepositoryModule_ooo.mk
@@ -94,6 +94,7 @@ $(eval $(call gb_Module_add_moduledirs,ooo,\
$(call gb_Helper_optional,HYPHEN,hyphen) \
i18npool \
i18nutil \
+ $(call gb_Helper_optional,ICU,icu) \
idl \
$(call gb_Helper_optional,DESKTOP,idlc) \
io \
diff --git a/editeng/Library_editeng.mk b/editeng/Library_editeng.mk
index 22a019672ab9..3391ed9de5c1 100644
--- a/editeng/Library_editeng.mk
+++ b/editeng/Library_editeng.mk
@@ -144,7 +144,10 @@ $(eval $(call gb_Library_use_libraries,editeng,\
$(gb_UWINAPI) \
))
-$(eval $(call gb_Library_use_external,editeng,icuuc))
+$(eval $(call gb_Library_use_externals,editeng,\
+ icuuc \
+ icu_headers \
+))
# Runtime dependency for unit-tests
$(call gb_LinkTarget_get_target,$(call gb_Library_get_linktargetname,editeng)) :| \
diff --git a/forms/Library_frm.mk b/forms/Library_frm.mk
index 4f60e8f3e11a..88e1c0ed9b08 100644
--- a/forms/Library_frm.mk
+++ b/forms/Library_frm.mk
@@ -63,6 +63,7 @@ $(eval $(call gb_Library_use_libraries,frm,\
$(eval $(call gb_Library_use_externals,frm,\
icui18n \
icuuc \
+ icu_headers \
libxml2 \
))
diff --git a/hunspell/StaticLibrary_hunspell.mk b/hunspell/StaticLibrary_hunspell.mk
index dba22998f217..29fe6249d37f 100644
--- a/hunspell/StaticLibrary_hunspell.mk
+++ b/hunspell/StaticLibrary_hunspell.mk
@@ -11,6 +11,8 @@ $(eval $(call gb_StaticLibrary_StaticLibrary,hunspell))
$(eval $(call gb_StaticLibrary_use_unpacked,hunspell,hunspell))
+$(eval $(call gb_StaticLibrary_use_external,hunspell,icu_headers))
+
$(eval $(call gb_StaticLibrary_set_warnings_not_errors,hunspell))
$(eval $(call gb_StaticLibrary_add_defs,hunspell,\
diff --git a/i18npool/CppunitTest_i18npool_test_breakiterator.mk b/i18npool/CppunitTest_i18npool_test_breakiterator.mk
index 24f67623d6d4..d94cf3da4edf 100644
--- a/i18npool/CppunitTest_i18npool_test_breakiterator.mk
+++ b/i18npool/CppunitTest_i18npool_test_breakiterator.mk
@@ -28,6 +28,8 @@
$(eval $(call gb_CppunitTest_CppunitTest,i18npool_test_breakiterator))
+$(eval $(call gb_CppunitTest_use_external,i18npool_test_breakiterator,icu_headers))
+
$(eval $(call gb_CppunitTest_use_api,i18npool_test_breakiterator,\
udkapi \
offapi \
diff --git a/i18npool/CppunitTest_i18npool_test_textsearch.mk b/i18npool/CppunitTest_i18npool_test_textsearch.mk
index 2f6998f94be8..d6ef88e5c75b 100644
--- a/i18npool/CppunitTest_i18npool_test_textsearch.mk
+++ b/i18npool/CppunitTest_i18npool_test_textsearch.mk
@@ -28,6 +28,7 @@ $(eval $(call gb_CppunitTest_use_components,i18npool_test_textsearch,\
$(eval $(call gb_CppunitTest_use_externals,i18npool_test_textsearch,\
icui18n \
icuuc \
+ icu_headers \
))
$(eval $(call gb_CppunitTest_use_libraries,i18npool_test_textsearch,\
diff --git a/i18npool/Executable_gencoll_rule.mk b/i18npool/Executable_gencoll_rule.mk
index 4974c6335ee4..e9b67fa220f9 100644
--- a/i18npool/Executable_gencoll_rule.mk
+++ b/i18npool/Executable_gencoll_rule.mk
@@ -42,6 +42,7 @@ $(eval $(call gb_Executable_use_externals,gencoll_rule,\
icudata \
icui18n \
icuuc \
+ icu_headers \
))
$(eval $(call gb_Executable_add_exception_objects,gencoll_rule,\
diff --git a/i18npool/Library_i18npool.mk b/i18npool/Library_i18npool.mk
index 183ea54ecabd..0c23f47b2447 100644
--- a/i18npool/Library_i18npool.mk
+++ b/i18npool/Library_i18npool.mk
@@ -50,6 +50,7 @@ $(eval $(call gb_Library_use_libraries,i18npool,\
$(eval $(call gb_Library_use_externals,i18npool,\
icui18n \
icuuc \
+ icu_headers \
))
$(eval $(call gb_Library_add_exception_objects,i18npool,\
diff --git a/i18npool/Library_i18nsearch.mk b/i18npool/Library_i18nsearch.mk
index 77780775ca56..f7cd5fc4c48f 100644
--- a/i18npool/Library_i18nsearch.mk
+++ b/i18npool/Library_i18nsearch.mk
@@ -41,6 +41,7 @@ $(eval $(call gb_Library_use_sdk_api,i18nsearch))
$(eval $(call gb_Library_use_externals,i18nsearch,\
icui18n \
icuuc \
+ icu_headers \
))
$(eval $(call gb_Library_use_libraries,i18nsearch,\
diff --git a/i18nutil/Library_i18nutil.mk b/i18nutil/Library_i18nutil.mk
index 94f5e20e5ea1..da469d58846b 100644
--- a/i18nutil/Library_i18nutil.mk
+++ b/i18nutil/Library_i18nutil.mk
@@ -20,6 +20,8 @@ $(eval $(call gb_Library_Library,i18nutil))
$(eval $(call gb_Library_use_package,i18nutil,i18nutil_inc))
+$(eval $(call gb_Library_use_external,i18nutil,icu_headers))
+
$(eval $(call gb_Library_use_sdk_api,i18nutil))
$(eval $(call gb_Library_add_defs,i18nutil,\
diff --git a/icu/ExternalPackage_icu.mk b/icu/ExternalPackage_icu.mk
new file mode 100644
index 000000000000..8c4f252c1ccb
--- /dev/null
+++ b/icu/ExternalPackage_icu.mk
@@ -0,0 +1,88 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# 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/.
+#
+
+$(eval $(call gb_ExternalPackage_ExternalPackage,icu,icu))
+
+$(eval $(call gb_ExternalPackage_use_external_project,icu,icu))
+ifeq ($(OS),WNT)
+ifeq ($(COM),GCC)
+
+$(eval $(call gb_ExternalPackage_add_files,icu,bin,\
+ source/lib/libicudt$(ICU_MAJOR)$(ICU_MINOR).dll \
+ source/lib/libicuuc$(ICU_MAJOR)$(ICU_MINOR).dll \
+ source/lib/libicuin$(ICU_MAJOR)$(ICU_MINOR).dll \
+ source/lib/libicule$(ICU_MAJOR)$(ICU_MINOR).dll \
+ source/lib/libicutu$(ICU_MAJOR)$(ICU_MINOR).dll \
+ source/bin/genccode.exe \
+ source/bin/genbrk.exe \
+ source/bin/gencmn.exe \
+))
+
+else
+$(eval $(call gb_ExternalPackage_add_files,icu,lib,\
+ source/lib/icudt.lib \
+ source/lib/icuuc.lib \
+ source/lib/icuin.lib \
+ source/lib/icule.lib \
+ source/lib/icutu.lib\
+))
+$(eval $(call gb_ExternalPackage_add_files,icu,bin,\
+ source/lib/icudt$(ICU_MAJOR).dll \
+ source/lib/icuuc$(ICU_MAJOR).dll \
+ source/lib/icuin$(ICU_MAJOR).dll \
+ source/lib/icule$(ICU_MAJOR).dll \
+ source/lib/icutu$(ICU_MAJOR).dll \
+ source/bin/genccode.exe \
+ source/bin/genbrk.exe \
+ source/bin/gencmn.exe \
+))
+endif
+else # $(OS)
+ifeq ($(DISABLE_DYNLOADING),TRUE)
+$(eval $(call gb_ExternalPackage_add_files,icu,lib,\
+ source/lib/libicudata.a \
+ source/lib/libicuuc.a \
+ source/lib/libicui18n.a \
+ source/lib/libicule.a \
+ source/lib/libicutu.a \
+))
+else ifeq ($(OS),ANDROID)
+$(eval $(call gb_ExternalPackage_add_files,icu,lib,\
+ source/lib/libicudatalo.so \
+ source/lib/libicuuclo.so \
+ source/lib/libicui18nlo.so \
+ source/lib/libiculelo.so \
+ source/lib/libicutulo.so \
+))
+else
+$(eval $(call gb_ExternalPackage_add_files,icu,lib,\
+ source/lib/libicudata.$(gb_Library_DLLEXT).$(ICU_MAJOR).$(ICU_MINOR).$(ICU_MICRO) \
+ source/lib/libicudata.$(gb_Library_DLLEXT).$(ICU_MAJOR) \
+ source/lib/libicudata.$(gb_Library_DLLEXT) \
+ source/lib/libicuuc.$(gb_Library_DLLEXT).$(ICU_MAJOR).$(ICU_MINOR).$(ICU_MICRO) \
+ source/lib/libicuuc.$(gb_Library_DLLEXT).$(ICU_MAJOR) \
+ source/lib/libicuuc.$(gb_Library_DLLEXT) \
+ source/lib/libicui18n.$(gb_Library_DLLEXT).$(ICU_MAJOR).$(ICU_MINOR).$(ICU_MICRO) \
+ source/lib/libicui18n.$(gb_Library_DLLEXT).$(ICU_MAJOR) \
+ source/lib/libicui18n.$(gb_Library_DLLEXT) \
+ source/lib/libicule.$(gb_Library_DLLEXT).$(ICU_MAJOR).$(ICU_MINOR).$(ICU_MICRO) \
+ source/lib/libicule.$(gb_Library_DLLEXT).$(ICU_MAJOR) \
+ source/lib/libicule.$(gb_Library_DLLEXT) \
+ source/lib/libicutu.$(gb_Library_DLLEXT).$(ICU_MAJOR).$(ICU_MINOR).$(ICU_MICRO) \
+ source/lib/libicutu.$(gb_Library_DLLEXT).$(ICU_MAJOR) \
+ source/lib/libicutu.$(gb_Library_DLLEXT) \
+))
+$(eval $(call gb_ExternalPackage_add_files,icu,bin,\
+ source/bin/genccode \
+ source/bin/genbrk \
+ source/bin/gencmn \
+))
+endif
+endif
+# vim: set noet sw=4 ts=4:
diff --git a/icu/ExternalProject_icu.mk b/icu/ExternalProject_icu.mk
new file mode 100644
index 000000000000..0758d3777e89
--- /dev/null
+++ b/icu/ExternalProject_icu.mk
@@ -0,0 +1,85 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# 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/.
+#
+
+$(eval $(call gb_ExternalProject_ExternalProject,icu))
+
+$(eval $(call gb_ExternalProject_use_unpacked,icu,icu))
+
+$(eval $(call gb_ExternalProject_use_package,icu,icu_data))
+
+$(eval $(call gb_ExternalProject_register_targets,icu,\
+ build \
+))
+
+icu_CPPFLAGS:="-DHAVE_GCC_ATOMICS=$(if $(filter TRUE,$(GCC_HAVE_BUILTIN_ATOMIC)),1,0)"
+
+ifeq ($(OS),WNT)
+
+ifeq ($(COM),MSC)
+$(call gb_ExternalProject_get_state_target,icu,build) :
+ cd $(EXTERNAL_WORKDIR)/source \
+ && export LIB="$(ILIB)" \
+ && CFLAGS="$(SOLARINC)" CPPFLAGS="$(SOLARINC)" CXXFLAGS="$(SOLARINC)" ./runConfigureICU Cygwin/MSVC \
+ && $(GNUMAKE) \
+ && touch $@
+else
+$(call gb_ExternalProject_get_state_target,icu,build) :
+ cd $(EXTERNAL_WORKDIR)/source \
+ && CPPFLAGS=$(icu_CPPFLAGS) CFLAGS="-O -D_MT" CXXFLAGS="-O -D_MT" \
+ LIBS="$(if $(filter YES,$(MINGW_SHARED_GXXLIB)),$(MINGW_SHARED_LIBSTDCPP))" \
+ LDFLAGS="-L$(COMPATH)/lib -Wl,--enable-runtime-pseudo-reloc-v2 \
+ $(if $(filter YES,$(MINGW_SHARED_GCCLIB)),-shared-libgcc)" \
+ ./configure
+ $(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) \
+ --with-cross-build=$(call gb_UnpackedTarball_get_dir,icu)/source) \
+ --enable-layout --disable-static --enable-shared --disable-samples \
+ && $(GNUMAKE) \
+ && for lib in icudata icuin icuuc icule icutu; do \
+ @touch $$lib; \
+ done \
+ && touch $@
+endif
+
+else # $(OS)
+
+icu_CFLAGS:="$(if $(filter ANDROID,$(OS)),-fvisibility=hidden -fno-omit-frame-pointer) \
+ $(if $(filter IOS,$(OS)),-DUCONFIG_NO_FILE_IO) \
+ $(if $(SYSBASE),-I$(SYSBASE)/usr/include) \
+ $(if $(debug),-g,\
+ $(if $(filter GCC,$(COM)),-O2 -fno-strict-aliasing,-O))"
+icu_CXXFLAGS:="$(if $(filter ANDROID,$(OS)),-fvisibility=hidden -fno-omit-frame-pointer) \
+ $(if $(filter IOS,$(OS)),-DUCONFIG_NO_FILE_IO) \
+ $(if $(debug),-g,\
+ $(if $(filter GCC,$(COM)),-O2 -fno-strict-aliasing,-O))"
+icu_LDFLAGS:="$(if $(filter TRUE,$(HAVE_LD_HASH_STYLE)),-Wl$(COMMA)--hash-style=$(WITH_LINKER_HASH_STYLE)) \
+ $(if $(SYSBASE),-L../lib -L../../lib -L../stubdata -L../../stubdata -L$(SYSBASE)/usr/lib) \
+ $(if $(filter TRUE,$(HAVE_LD_BSYMBOLIC_FUNCTIONS)),\
+ -Wl$(COMMA)-Bsymbolic-functions -Wl$(COMMA)--dynamic-list-cpp-new -Wl$(COMMA)--dynamic-list-cpp-typeinfo) \
+ $(if $(filter ANDROID,$(OS)),-lgnustl_shared -lm)"
+
+$(call gb_ExternalProject_get_state_target,icu,build) :
+ cd $(EXTERNAL_WORKDIR)/source \
+ && CPPFLAGS=$(icu_CPPFLAGS) CFLAGS=$(icu_CFLAGS) \
+ CXXFLAGS=$(icu_CXXFLAGS) LDFLAGS=$(icu_LDFLAGS) \
+ ./configure \
+ --enable-layout --disable-samples \
+ $(if $(filter IOS ANDROID,$(OS)),--disable-dyload) \
+ $(if $(filter ANDROID,$(OS)),--disable-strict) \
+ $(if $(filter SOLARIS AIX,$(OS)),--disable-64bit-libs) \
+ $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
+ $(if $(filter TRUE,$(DISABLE_DYNLOADING)),--enable-static --disable-shared,\
+ --disable-static --enable-shared $(if $(filter ANDROID,$(OS)),--with-library-suffix=lo)) \
+ $(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)\
+ --with-cross-build=$(call gb_UnpackedTarball_get_dir,icu)/source)\
+ && $(GNUMAKE) \
+ && touch $@
+
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/icu/Makefile b/icu/Makefile
new file mode 100644
index 000000000000..ccb1c85a04da
--- /dev/null
+++ b/icu/Makefile
@@ -0,0 +1,7 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+
+module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
+
+include $(module_directory)/../solenv/gbuild/partial_build.mk
+
+# vim: set noet sw=4 ts=4:
diff --git a/icu/Module_icu.mk b/icu/Module_icu.mk
new file mode 100644
index 000000000000..524147b1e960
--- /dev/null
+++ b/icu/Module_icu.mk
@@ -0,0 +1,21 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# 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/.
+#
+
+$(eval $(call gb_Module_Module,icu))
+
+ifeq ($(SYSTEM_ICU),NO)
+$(eval $(call gb_Module_add_targets,icu,\
+ UnpackedTarball_icu \
+ UnpackedTarball_icu_data \
+ ExternalPackage_icu \
+ ExternalProject_icu \
+))
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/icu/UnpackedTarball_icu.mk b/icu/UnpackedTarball_icu.mk
new file mode 100644
index 000000000000..ed58c3285422
--- /dev/null
+++ b/icu/UnpackedTarball_icu.mk
@@ -0,0 +1,44 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# 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/.
+#
+
+$(eval $(call gb_UnpackedTarball_UnpackedTarball,icu))
+
+$(eval $(call gb_UnpackedTarball_set_tarball,icu,$(ICU_TARBALL)))
+
+# Save space when using a bundled ICU by leaving out unneeded parts of the ICU data. Generated by
+# the interactive web tool at http://apps.icu-project.org/datacustom/ICUData49.html by dropping
+# the "Charset Mapping Tables". Probably we could carefully cherry-pick other items in the data to
+# be dropped, too. A bit tedious using that web tool, though.
+
+# If you do that, upload a new subset data zip file with just the MD5 part of the name changed
+# appropriately. Let's not bother trying to list what stuff has been removed in the file name.
+# Describe it in the comment above instead.
+$(call gb_UnpackedTarball_get_target,icu): $(call gb_UnpackedTarball_get_target,icu_data)
+$(eval $(call gb_UnpackedTarball_set_post_action,icu,\
+ cp $(call gb_UnpackedTarball_get_dir,icu_data)/icudt49l.dat \
+ $(call gb_UnpackedTarball_get_dir,icu)/source/data/in/ \
+))
+
+$(eval $(call gb_UnpackedTarball_add_patches,icu,\
+ icu/icu4c-bsd.patch \
+ icu/icu4c-build.patch \
+ icu/icu4c.8198.revert.icu5431.patch \
+ icu/icu4c.7601.Indic-ccmp.patch \
+ icu/icu4c-aix.patch \
+ icu/icu4c-wchar_t.patch \
+ icu/icu4c-warnings.patch \
+ icu/icu4c.9313.cygwin.patch \
+ icu/icu4c-macosx.patch \
+ icu/icu4c-solarisgcc.patch \
+ icu/icu4c-mkdir.patch \
+ icu/icu4c-buffer-overflow.patch \
+ icu/icu4c-$(if $(filter ANDROID,$(OS)),android,rpath).patch \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/icu/UnpackedTarball_icu_data.mk b/icu/UnpackedTarball_icu_data.mk
new file mode 100644
index 000000000000..25274f1a595f
--- /dev/null
+++ b/icu/UnpackedTarball_icu_data.mk
@@ -0,0 +1,14 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# 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/.
+#
+
+$(eval $(call gb_UnpackedTarball_UnpackedTarball,icu_data))
+
+$(eval $(call gb_UnpackedTarball_set_tarball,icu_data,$(ICU_DATA_SUBSET_ZIP)))
+
+# vim: set noet sw=4 ts=4:
diff --git a/icu/icu4c-buffer-overflow.patch b/icu/icu4c-buffer-overflow.patch
index 8966be894941..7385d3b470d9 100644
--- a/icu/icu4c-buffer-overflow.patch
+++ b/icu/icu4c-buffer-overflow.patch
@@ -9,8 +9,8 @@ E: icu bufferoverflowstrncat pkgdata.cpp:299:87
Index: icu/source/tools/pkgdata/pkgdata.cpp
===================================================================
---- misc/build/icu.orig/source/tools/pkgdata/pkgdata.cpp
-+++ misc/build/icu/source/tools/pkgdata/pkgdata.cpp
+--- build/icu.orig/source/tools/pkgdata/pkgdata.cpp
++++ build/icu/source/tools/pkgdata/pkgdata.cpp
@@ -1914,12 +1914,12 @@ static void loadLists(UPKGOptions *o, UE
const char cmd[] = "icu-config --incpkgdatafile";
diff --git a/icu/icu4c-mkdir.patch b/icu/icu4c-mkdir.patch
index 89249ea15858..859220c37207 100644
--- a/icu/icu4c-mkdir.patch
+++ b/icu/icu4c-mkdir.patch
@@ -1,5 +1,5 @@
--- misc/icu/source/dataMakefile.in.sav 2012-04-05 22:49:20.000000000 +0200
-+++ misc/build/icu/source/data/Makefile.in 2012-12-04 14:24:40.548026700 +0100
++++ build/icu/source/data/Makefile.in 2012-12-04 14:24:40.548026700 +0100
@@ -346,6 +346,7 @@
ifeq ($(PKGDATA_MODE),dll)
SO_VERSION_DATA = $(OUTTMPDIR)/icudata.res
diff --git a/icu/icu4c-solarisgcc.patch b/icu/icu4c-solarisgcc.patch
index d61ad3278294..11b13cfc050f 100644
--- a/icu/icu4c-solarisgcc.patch
+++ b/icu/icu4c-solarisgcc.patch
@@ -1,6 +1,6 @@
-diff -uriwb misc/build/icu.old/source/aclocal.m4 misc/build/icu/source/aclocal.m4
---- misc/build/icu.old/source/aclocal.m4 2012-04-05 21:49:28.000000000 +0100
-+++ misc/build/icu/source/aclocal.m4 2012-06-21 15:44:57.299256932 +0100
+diff -uriwb build/icu.old/source/aclocal.m4 misc/build/icu/source/aclocal.m4
+--- build/icu.old/source/aclocal.m4 2012-04-05 21:49:28.000000000 +0100
++++ build/icu/source/aclocal.m4 2012-06-21 15:44:57.299256932 +0100
@@ -455,7 +455,7 @@
case "${host}" in
*-*-solaris*)
@@ -21,9 +21,9 @@ diff -uriwb misc/build/icu.old/source/aclocal.m4 misc/build/icu/source/aclocal.m
else
case "${host}" in
*-*-cygwin)
-diff -uriwb misc/build/icu.old/source/common/uposixdefs.h misc/build/icu/source/common/uposixdefs.h
---- misc/build/icu.old/source/common/uposixdefs.h 2012-04-05 21:46:18.000000000 +0100
-+++ misc/build/icu/source/common/uposixdefs.h 2012-06-21 15:45:17.613369477 +0100
+diff -uriwb build/icu.old/source/common/uposixdefs.h misc/build/icu/source/common/uposixdefs.h
+--- build/icu.old/source/common/uposixdefs.h 2012-04-05 21:46:18.000000000 +0100
++++ build/icu/source/common/uposixdefs.h 2012-06-21 15:45:17.613369477 +0100
@@ -52,7 +52,7 @@
*
* z/OS needs this definition for timeval and to get usleep.
@@ -33,9 +33,9 @@ diff -uriwb misc/build/icu.old/source/common/uposixdefs.h misc/build/icu/source/
# define _XOPEN_SOURCE_EXTENDED 1
#endif
-diff -uriwb misc/build/icu.old/source/configure misc/build/icu/source/configure
---- misc/build/icu.old/source/configure 2012-04-05 21:49:28.000000000 +0100
-+++ misc/build/icu/source/configure 2012-06-21 15:44:42.817030445 +0100
+diff -uriwb build/icu.old/source/configure misc/build/icu/source/configure
+--- build/icu.old/source/configure 2012-04-05 21:49:28.000000000 +0100
++++ build/icu/source/configure 2012-06-21 15:44:42.817030445 +0100
@@ -4264,7 +4264,7 @@
case "${host}" in
*-*-solaris*)
diff --git a/icu/icu4c-warnings.patch b/icu/icu4c-warnings.patch
index 8ac632c42c6c..72566bc5e8ab 100644
--- a/icu/icu4c-warnings.patch
+++ b/icu/icu4c-warnings.patch
@@ -1,4 +1,4 @@
---- misc/icu/source/common/unicode/
+--- misc/icu/source/common/unicode/utf16.h
+++ misc/build/icu/source/common/unicode/utf16.h
@@ -316,6 +316,7 @@
(s)[(i)++]=(uint16_t)(((c)&0x3ff)|0xdc00); \
diff --git a/icu/makefile.mk b/icu/makefile.mk
deleted file mode 100644
index f20d9b5f223f..000000000000
--- a/icu/makefile.mk
+++ /dev/null
@@ -1,352 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-PRJ=.
-
-PRJNAME=icu
-TARGET=so_icu
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-
-TARFILE_NAME=icu4c-49_1_1-src
-TARFILE_MD5=7c53f83e0327343f4060c0eb83842daf
-TARFILE_ROOTDIR=icu
-
-#icu4c.7601.Indic-ccmp.patch
-#http://bugs.icu-project.org/trac/ticket/7601 ccmp feature for Indic Languages
-
-#icu4c.8198.revert.icu5431.patch
-#http://bugs.icu-project.org/trac/ticket/8198 rendering with 0D30 and 0D31
-
-PATCH_FILES=\
- icu4c-bsd.patch \
- icu4c-build.patch \
- icu4c.8198.revert.icu5431.patch \
- icu4c.7601.Indic-ccmp.patch \
- icu4c-aix.patch \
- icu4c-wchar_t.patch \
- icu4c-warnings.patch \
- icu4c.9313.cygwin.patch \
- icu4c-macosx.patch \
- icu4c-solarisgcc.patch \
- icu4c-mkdir.patch \
- icu4c-buffer-overflow.patch \
-
-.IF "$(OS)"=="ANDROID"
-PATCH_FILES+=\
- icu4c-android.patch
-icu_CFLAGS+=-fvisibility=hidden
-icu_CXXFLAGS+=-fvisibility=hidden
-.ELSE
-PATCH_FILES+=\
- icu4c-rpath.patch
-.ENDIF
-
-.IF "$(HAVE_GCC_BUILTIN_ATOMIC)"=="TRUE"
-EXTRA_CDEFS+=-DU_HAVE_GCC_ATOMICS=1
-.ELSE
-EXTRA_CDEFS+=-DU_HAVE_GCC_ATOMICS=0
-.ENDIF
-
-# Save space when using a bundled ICU by leaving out unneeded parts of the ICU data. Generated by
-# the interactive web tool at http://apps.icu-project.org/datacustom/ICUData49.html by dropping
-# the "Charset Mapping Tables". Probably we could carefully cherry-pick other items in the data to
-# be dropped, too. A bit tedious using that web tool, though.
-
-# If you do that, upload a new subset data zip file with just the MD5 part of the name changed
-# appropriately. Let's not bother trying to list what stuff has been removed in the file name.
-# Describe it in the comment above instead.
-CONFIGURE_ACTION=unzip $(TARFILE_LOCATION)/$(ICU_DATA_SUBSET_ZIP) && mv icudt49l.dat data/in &&
-
-.IF "$(OS)"!="WNT"
-
-.IF "$(SYSBASE)"!=""
-icu_CFLAGS+=-I$(SYSBASE)$/usr$/include
-.IF "$(COMNAME)"=="sunpro5"
-icu_CFLAGS+=$(C_RESTRICTIONFLAGS)
-.ENDIF # "$(COMNAME)"=="sunpro5"
-# add SYSBASE libraries and make certain that they are found *after* the
-# icu build internal libraries - in case that icu is available in SYSBASE
-# as well
-icu_LDFLAGS+= -L../lib -L../../lib -L../stubdata -L../../stubdata -L$(SYSBASE)$/usr$/lib
-.ENDIF # "$(SYSBASE)"!=""
-
-.IF "$(OS)"=="MACOSX"
-.IF "$(EXTRA_CFLAGS)"!=""
-CPP:=gcc -E $(EXTRA_CFLAGS)
-CXX:=g++ $(EXTRA_CFLAGS)
-CC:=gcc $(EXTRA_CFLAGS)
-.EXPORT : CPP
-.ENDIF # "$(EXTRA_CFLAGS)"!=""
-.ENDIF # "$(OS)"=="MACOSX"
-
-.IF "$(debug)" != ""
-icu_CFLAGS+=-g $(ARCH_FLAGS)
-icu_CXXFLAGS+=-g $(ARCH_FLAGS)
-.ELIF "$(COM)"=="GCC"
-icu_CFLAGS+=-O2 -fno-strict-aliasing $(ARCH_FLAGS)
-icu_CXXFLAGS+=-O2 -fno-strict-aliasing $(ARCH_FLAGS)
-.ELSE
-icu_CFLAGS+=-O $(ARCH_FLAGS)
-icu_CXXFLAGS+=-O $(ARCH_FLAGS)
-.ENDIF
-icu_LDFLAGS+=$(EXTRA_LINKFLAGS)
-
-# until someone introduces SOLARIS 64-bit builds
-.IF "$(OS)"=="SOLARIS"
-DISABLE_64BIT=--enable-64bit-libs=no
-.ENDIF # "$(OS)"=="SOLARIS"
-
-.IF "$(OS)"=="AIX"
-DISABLE_64BIT=--enable-64bit-libs=no
-LDFLAGSADD+=$(LINKFLAGS) $(LINKFLAGSRUNPATH_OOO)
-.ENDIF # "$(OS)"=="AIX"
-
-.IF "$(HAVE_LD_HASH_STYLE)" == "TRUE"
-LDFLAGSADD += -Wl,--hash-style=$(WITH_LINKER_HASH_STYLE)
-.ENDIF
-
-.IF "$(OS)"=="IOS"
-# Let's try this...
-icu_CFLAGS+=-DUCONFIG_NO_FILE_IO
-icu_CXXFLAGS+=-DUCONFIG_NO_FILE_IO
-.ENDIF
-
-.IF "$(OS)"=="ANDROID"
-# Problems with uint64_t on Android unless disabling strictness
-DISABLE_STRICT=--disable-strict
-icu_CFLAGS+=-fno-omit-frame-pointer
-icu_CXXFLAGS+=-fno-omit-frame-pointer
-.ENDIF
-
-.IF "$(OS)"=="IOS" || "$(OS)"=="ANDROID"
-# Problems on Android unless disabling dynamic loading
-DISABLE_DYLOAD=--disable-dyload
-.ENDIF
-
-.IF "$(HAVE_LD_BSYMBOLIC_FUNCTIONS)" == "TRUE"
-LDFLAGSADD += -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo
-.ENDIF
-
-CONFIGURE_DIR=source
-
-.IF "$(DISABLE_DYNLOADING)" == "TRUE"
-STATIC_OR_SHARED=--enable-static --disable-shared
-.ELSE
-STATIC_OR_SHARED=--disable-static --enable-shared
-.ENDIF
-
-.IF "$(CROSS_COMPILING)"=="YES"
-# We require that the cross-build-toolset target from the top Makefile(.in) has bee built
-BUILD_AND_HOST=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) --with-cross-build=$(posix_PWD)/$(INPATH_FOR_BUILD)/misc/build/icu/source
-.ENDIF
-
-.IF "$(OS)"=="ANDROID"
-.IF "$(DISABLE_DYNLOADING)" != "TRUE"
-LIBRARY_SUFFIX= --with-library-suffix=lo
-.ENDIF
-# Just so that some executables that nobody will run anyway get built...
-icu_LDFLAGS+=-lgnustl_shared -lm
-.ENDIF
-
-CONFIGURE_ACTION+=sh -c 'CPPFLAGS="$(EXTRA_CDEFS)" CFLAGS="$(icu_CFLAGS)" CXXFLAGS="$(icu_CXXFLAGS)" LDFLAGS="$(icu_LDFLAGS) $(LDFLAGSADD)" \
-./configure --enable-layout --disable-samples $(STATIC_OR_SHARED) $(BUILD_AND_HOST) $(DISABLE_64BIT) $(DISABLE_STRICT) $(DISABLE_DYLOAD) $(LIBRARY_SUFFIX)'
-
-.IF "$(OS)" == "MACOSX"
-CONFIGURE_ACTION += \
- --prefix=/@.__________________________________________________$(EXTRPATH)
-.END
-
-CONFIGURE_FLAGS=
-
-# Use of
-# CONFIGURE_ACTION=sh -c 'CFLAGS=-O CXXFLAGS=-O ./configure'
-# CONFIGURE_FLAGS=--enable-layout --enable-static --enable-shared=yes --enable-64bit-libs=no
-# doesn't work as it would result in
-# sh -c 'CFLAGS=-O CXXFLAGS=-O ./configure' --enable-layout ...
-# note the position of the single quotes.
-
-BUILD_DIR=$(CONFIGURE_DIR)
-BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) $(GNUMAKE) -j$(EXTMAXPROCESS)
-.IF "$(DISABLE_DYNLOADING)" == "TRUE"
-OUT2LIB= \
- $(BUILD_DIR)$/lib$/libicudata.a \
- $(BUILD_DIR)$/lib$/libicuuc.a \
- $(BUILD_DIR)$/lib$/libicui18n.a \
- $(BUILD_DIR)$/lib$/libicule.a \
- $(BUILD_DIR)$/lib$/libicutu.a
-.ELIF "$(OS)"=="ANDROID" # The no longer normal, non-DISABLE_DYNLOADING case for Android
-BUILD_ACTION+= && cat uconfig.h.prepend common/unicode/uconfig.h >common/unicode/uconfig.h.new && mv common/unicode/uconfig.h.new common/unicode/uconfig.h
-OUT2LIB= \
- $(BUILD_DIR)$/lib$/libicudatalo.so \
- $(BUILD_DIR)$/lib$/libicuuclo.so \
- $(BUILD_DIR)$/lib$/libicui18nlo.so \
- $(BUILD_DIR)$/lib$/libiculelo.so \
- $(BUILD_DIR)$/lib$/libicutulo.so
-.ELSE
-OUT2LIB= \
- $(BUILD_DIR)$/lib$/libicudata$(DLLPOST).$(ICU_MAJOR).$(ICU_MINOR).$(ICU_MICRO) \
- $(BUILD_DIR)$/lib$/libicudata$(DLLPOST).$(ICU_MAJOR) \
- $(BUILD_DIR)$/lib$/libicudata$(DLLPOST) \
- $(BUILD_DIR)$/lib$/libicuuc$(DLLPOST).$(ICU_MAJOR).$(ICU_MINOR).$(ICU_MICRO) \
- $(BUILD_DIR)$/lib$/libicuuc$(DLLPOST).$(ICU_MAJOR) \
- $(BUILD_DIR)$/lib$/libicuuc$(DLLPOST) \
- $(BUILD_DIR)$/lib$/libicui18n$(DLLPOST).$(ICU_MAJOR).$(ICU_MINOR).$(ICU_MICRO) \
- $(BUILD_DIR)$/lib$/libicui18n$(DLLPOST).$(ICU_MAJOR) \
- $(BUILD_DIR)$/lib$/libicui18n$(DLLPOST) \
- $(BUILD_DIR)$/lib$/libicule$(DLLPOST).$(ICU_MAJOR).$(ICU_MINOR).$(ICU_MICRO) \
- $(BUILD_DIR)$/lib$/libicule$(DLLPOST).$(ICU_MAJOR) \
- $(BUILD_DIR)$/lib$/libicule$(DLLPOST) \
- $(BUILD_DIR)$/lib$/libicutu$(DLLPOST).$(ICU_MAJOR).$(ICU_MINOR).$(ICU_MICRO) \
- $(BUILD_DIR)$/lib$/libicutu$(DLLPOST).$(ICU_MAJOR) \
- $(BUILD_DIR)$/lib$/libicutu$(DLLPOST)
-
-OUT2BIN_NONE= \
- $(BUILD_DIR)$/bin$/genccode \
- $(BUILD_DIR)$/bin$/genbrk \
- $(BUILD_DIR)$/bin$/gencmn
-.ENDIF
-
-.ENDIF
-
-.IF "$(OS)"=="WNT"
-CONFIGURE_DIR=source
-.IF "$(COM)"=="GCC"
-.IF "$(MINGW_SHARED_GCCLIB)"=="YES"
-icu_LDFLAGS+=-shared-libgcc
-.ENDIF
-icu_LDFLAGS+=-L$(COMPATH)$/lib
-icu_LIBS=
-.IF "$(MINGW_SHARED_GXXLIB)"=="YES"
-icu_LIBS+=$(MINGW_SHARED_LIBSTDCPP)
-.ENDIF
-icu_LDFLAGS+=-Wl,--enable-runtime-pseudo-reloc-v2
-
-.IF "$(CROSS_COMPILING)"=="YES"
-# We require that the cross-build-toolset target from the top Makefile(.in) has bee built
-BUILD_AND_HOST=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) --with-cross-build=$(posix_PWD)/$(INPATH_FOR_BUILD)/misc/build/icu/source
-.ELSE
-BUILD_AND_HOST=--build=i586-pc-mingw32 --enable-64bit-libs=no
-.ENDIF
-
-CONFIGURE_ACTION+=sh -c 'CPPFLAGS="$(EXTRA_CDEFS)" CFLAGS="-O -D_MT" CXXFLAGS="-O -D_MT" LDFLAGS="$(icu_LDFLAGS)" LIBS="$(icu_LIBS)" \
-./configure $(BUILD_AND_HOST) --enable-layout --disable-static --enable-shared --disable-samples'
-
-CONFIGURE_FLAGS=
-
-# Use of
-# CONFIGURE_ACTION=sh -c 'CFLAGS=-O CXXFLAGS=-O ./configure'
-# CONFIGURE_FLAGS=--enable-layout --enable-static --enable-shared=yes --enable-64bit-libs=no
-# doesn't work as it would result in
-# sh -c 'CFLAGS=-O CXXFLAGS=-O ./configure' --enable-layout ...
-# note the position of the single quotes.
-
-BUILD_DIR=$(CONFIGURE_DIR)
-BUILD_ACTION=$(GNUMAKE) -j$(EXTMAXPROCESS)
-OUT2LIB=
-
-OUT2BIN= \
- $(BUILD_DIR)$/lib$/icudt$(ICU_MAJOR)$(ICU_MINOR)$(DLLPOST) \
- $(BUILD_DIR)$/lib$/icuuc$(ICU_MAJOR)$(ICU_MINOR)$(DLLPOST) \
- $(BUILD_DIR)$/lib$/icuin$(ICU_MAJOR)$(ICU_MINOR)$(DLLPOST) \
- $(BUILD_DIR)$/lib$/icule$(ICU_MAJOR)$(ICU_MINOR)$(DLLPOST) \
- $(BUILD_DIR)$/lib$/icutu$(ICU_MAJOR)$(ICU_MINOR)$(DLLPOST) \
- $(BUILD_DIR)$/bin$/genccode.exe \
- $(BUILD_DIR)$/bin$/genbrk.exe \
- $(BUILD_DIR)$/bin$/gencmn.exe
-
-.ELSE
-BUILD_DIR=source
-CONFIGURE_ACTION+=bash ./runConfigureICU Cygwin/MSVC
-BUILD_ACTION=$(GNUMAKE) -j$(EXTMAXPROCESS)
-
-OUT2LIB= \
- $(BUILD_DIR)$/lib$/icudt.lib \
- $(BUILD_DIR)$/lib$/icuin$(ICU_BUILD_LIBPOST).lib \
- $(BUILD_DIR)$/lib$/icuuc$(ICU_BUILD_LIBPOST).lib \
- $(BUILD_DIR)$/lib$/icule$(ICU_BUILD_LIBPOST).lib \
- $(BUILD_DIR)$/lib$/icutu$(ICU_BUILD_LIBPOST).lib
-
-OUT2BIN= \
- $(BUILD_DIR)$/lib$/icudt$(ICU_MAJOR).dll \
- $(BUILD_DIR)$/lib$/icuin$(ICU_MAJOR)$(ICU_BUILD_LIBPOST).dll \
- $(BUILD_DIR)$/lib$/icuuc$(ICU_MAJOR)$(ICU_BUILD_LIBPOST).dll \
- $(BUILD_DIR)$/lib$/icule$(ICU_MAJOR)$(ICU_BUILD_LIBPOST).dll \
- $(BUILD_DIR)$/lib$/icutu$(ICU_MAJOR)$(ICU_BUILD_LIBPOST).dll \
- $(BUILD_DIR)$/bin$/genccode.exe \
- $(BUILD_DIR)$/bin$/genbrk.exe \
- $(BUILD_DIR)$/bin$/gencmn.exe
-
-.ENDIF
-.ENDIF # "$(OS)"=="WNT"
-
-#make sure that when we deliver the headers of a new icu that the timestamps
-#are newer than the last icu to ensure dependencies are correctly rebuilt
-INSTALL_ACTION=find . -name "*.h" -print0 | xargs -0 touch
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : set_ext.mk
-.INCLUDE : target.mk
-.INCLUDE : tg_ext.mk
-
-.IF "$(BINARY_PATCH_FILES)"!=""
-
-$(PACKAGE_DIR)$/so_add_binary : $(PACKAGE_DIR)$/$(ADD_FILES_FLAG_FILE)
- cd $(PACKAGE_DIR) && gunzip -c $(BACK_PATH)$(BINARY_PATCH_FILES) | tar -xvf -
- $(TOUCH) $(PACKAGE_DIR)$/so_add_binary
-
-$(PACKAGE_DIR)$/$(CONFIGURE_FLAG_FILE) : $(PACKAGE_DIR)$/so_add_binary
-
-.ENDIF
-
-.IF "$(OS)$(COM)"=="WNTGCC"
-ALLTAR : \
- $(LB)$/icudata.lib \
- $(LB)$/icuin$(ICU_BUILD_LIBPOST).lib \
- $(LB)$/icuuc$(ICU_BUILD_LIBPOST).lib \
- $(LB)$/icule$(ICU_BUILD_LIBPOST).lib \
- $(LB)$/icutu$(ICU_BUILD_LIBPOST).lib
-
-$(LB)$/icudata.lib : $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
- $(TOUCH) $@
-
-$(LB)$/icuin$(ICU_BUILD_LIBPOST).lib : $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
- $(TOUCH) $@
-
-$(LB)$/icuuc$(ICU_BUILD_LIBPOST).lib : $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
- $(TOUCH) $@
-
-$(LB)$/icule$(ICU_BUILD_LIBPOST).lib : $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
- $(TOUCH) $@
-
-$(LB)$/icutu$(ICU_BUILD_LIBPOST).lib : $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE)
- $(TOUCH) $@
-.ENDIF
diff --git a/icu/prj/build.lst b/icu/prj/build.lst
index c633589000c6..3a1f86bf2117 100644
--- a/icu/prj/build.lst
+++ b/icu/prj/build.lst
@@ -1,4 +1,2 @@
ic icu : solenv external NULL
ic icu usr1 - all ic_mkout NULL
-ic icu nmake - u ic_icu NULL
-ic icu nmake - w,vc7 ic_icu NULL
diff --git a/icu/prj/d.lst b/icu/prj/d.lst
index d5fc11a2a74c..e69de29bb2d1 100644
--- a/icu/prj/d.lst
+++ b/icu/prj/d.lst
@@ -1,49 +0,0 @@
-mkdir: %_DEST%\inc\icu
-mkdir: %_DEST%\inc\external\layout
-mkdir: %_DEST%\inc\external\unicode
-..\%__SRC%\misc\build\icu\source\layout\*.h %_DEST%\inc\external\layout\*.h
-..\%__SRC%\misc\build\icu\source\common\unicode\*.h %_DEST%\inc\external\unicode\*.h
-..\%__SRC%\misc\build\icu\source\i18n\unicode\*.h %_DEST%\inc\external\unicode\*.h
-
-..\%__SRC%\lib\*.a %_DEST%\lib\*.a
-..\%__SRC%\lib\*.lib %_DEST%\lib\*.lib
-..\%__SRC%\lib\*.lib %_DEST%\lib
-
-..\%__SRC%\bin\*.dll %_DEST%\bin\*.dll
-
-..\%__SRC%\bin\genccode %_DEST%\bin\genccode
-..\%__SRC%\bin\genccode.exe %_DEST%\bin\genccode.exe
-..\%__SRC%\bin\genbrk %_DEST%\bin\genbrk
-..\%__SRC%\bin\genbrk.exe %_DEST%\bin\genbrk.exe
-..\%__SRC%\bin\gencmn %_DEST%\bin\gencmn
-..\%__SRC%\bin\gencmn.exe %_DEST%\bin\gencmn.exe
-
-..\%__SRC%\lib\libicudata.*.*.* %_DEST%\lib\
-..\%__SRC%\lib\libicui18n.*.*.* %_DEST%\lib\
-..\%__SRC%\lib\libicule.*.*.* %_DEST%\lib\
-..\%__SRC%\lib\libicuuc.*.*.* %_DEST%\lib\
-..\%__SRC%\lib\libicutu.*.*.* %_DEST%\lib\
-
-..\%__SRC%\lib\libicudata.so %_DEST%\lib\
-..\%__SRC%\lib\libicui18n.so %_DEST%\lib\
-..\%__SRC%\lib\libicule.so %_DEST%\lib\
-..\%__SRC%\lib\libicuuc.so %_DEST%\lib\
-..\%__SRC%\lib\libicutu.so %_DEST%\lib\
-
-..\%__SRC%\lib\libicudatalo.so %_DEST%\lib\
-..\%__SRC%\lib\libicui18nlo.so %_DEST%\lib\
-..\%__SRC%\lib\libiculelo.so %_DEST%\lib\
-..\%__SRC%\lib\libicuuclo.so %_DEST%\lib\
-..\%__SRC%\lib\libicutulo.so %_DEST%\lib\
-
-..\%__SRC%\lib\libicudata.a %_DEST%\lib\
-..\%__SRC%\lib\libicui18n.a %_DEST%\lib\
-..\%__SRC%\lib\libicule.a %_DEST%\lib\
-..\%__SRC%\lib\libicuuc.a %_DEST%\lib\
-..\%__SRC%\lib\libicutu.a %_DEST%\lib\
-
-linklib: libicudata.*.*.*
-linklib: libicui18n.*.*.*
-linklib: libicule.*.*.*
-linklib: libicuuc.*.*.*
-linklib: libicutu.*.*.*
diff --git a/icu/prj/dmake b/icu/prj/dmake
deleted file mode 100644
index e69de29bb2d1..000000000000
--- a/icu/prj/dmake
+++ /dev/null
diff --git a/l10ntools/Executable_helpex.mk b/l10ntools/Executable_helpex.mk
index 48261762135d..0652b642943e 100644
--- a/l10ntools/Executable_helpex.mk
+++ b/l10ntools/Executable_helpex.mk
@@ -38,6 +38,7 @@ $(eval $(call gb_Executable_use_libraries,helpex,\
$(eval $(call gb_Executable_use_externals,helpex,\
expat_utf8 \
boost_headers \
+ icu_headers \
))
$(eval $(call gb_Executable_use_static_libraries,helpex,\
diff --git a/l10ntools/Executable_stringex.mk b/l10ntools/Executable_stringex.mk
index b05341290995..f20a9f8fddad 100644
--- a/l10ntools/Executable_stringex.mk
+++ b/l10ntools/Executable_stringex.mk
@@ -32,6 +32,7 @@ $(eval $(call gb_Executable_use_externals,stringex,\
libxml2 \
icuuc \
icui18n \
+ icu_headers \
))
# vim: set noet sw=4 ts=4:
diff --git a/l10ntools/Executable_transex3.mk b/l10ntools/Executable_transex3.mk
index baba40e777a3..132e8a1b750d 100644
--- a/l10ntools/Executable_transex3.mk
+++ b/l10ntools/Executable_transex3.mk
@@ -52,6 +52,7 @@ $(eval $(call gb_Executable_add_exception_objects,transex3,\
$(eval $(call gb_Executable_use_externals,transex3,\
icuuc \
icui18n \
+ icu_headers \
libxml2 \
))
diff --git a/l10ntools/Executable_treex.mk b/l10ntools/Executable_treex.mk
index 2cdb1b2de4a2..988e78046803 100644
--- a/l10ntools/Executable_treex.mk
+++ b/l10ntools/Executable_treex.mk
@@ -30,8 +30,9 @@ $(eval $(call gb_Executable_add_exception_objects,treex,\
$(eval $(call gb_Executable_use_externals,treex,\
libxml2 \
- icuuc \
+ icuuc \
icui18n \
+ icu_headers \
))
# vim: set noet sw=4 ts=4:
diff --git a/l10ntools/Executable_uiex.mk b/l10ntools/Executable_uiex.mk
index 5a8f23c7a433..0c142c00f85d 100644
--- a/l10ntools/Executable_uiex.mk
+++ b/l10ntools/Executable_uiex.mk
@@ -33,6 +33,7 @@ $(eval $(call gb_Executable_use_externals,uiex,\
boost_headers \
icuuc \
icui18n \
+ icu_headers \
))
# vim: set noet sw=4 ts=4:
diff --git a/l10ntools/Executable_xrmex.mk b/l10ntools/Executable_xrmex.mk
index bcad1b9d3993..f11f33d46434 100644
--- a/l10ntools/Executable_xrmex.mk
+++ b/l10ntools/Executable_xrmex.mk
@@ -53,6 +53,7 @@ $(eval $(call gb_Executable_use_externals,xrmex,\
libxml2 \
icuuc \
icui18n \
+ icu_headers \
))
# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/l10ntools/StaticLibrary_transex.mk b/l10ntools/StaticLibrary_transex.mk
index 79a7a20e3db4..e5cad80a6df7 100644
--- a/l10ntools/StaticLibrary_transex.mk
+++ b/l10ntools/StaticLibrary_transex.mk
@@ -37,7 +37,10 @@ $(eval $(call gb_StaticLibrary_set_include,transex,\
$$(INCLUDE) \
))
-$(eval $(call gb_StaticLibrary_use_external,transex,boost_headers))
+$(eval $(call gb_StaticLibrary_use_externals,transex,\
+ boost_headers \
+ icu_headers \
+))
$(eval $(call gb_StaticLibrary_add_exception_objects,transex,\
l10ntools/source/export2 \
diff --git a/linguistic/Library_lng.mk b/linguistic/Library_lng.mk
index a7fad43ca28f..3658062b0169 100644
--- a/linguistic/Library_lng.mk
+++ b/linguistic/Library_lng.mk
@@ -58,7 +58,10 @@ $(eval $(call gb_Library_use_libraries,lng,\
$(gb_UWINAPI) \
))
-$(eval $(call gb_Library_use_external,lng,icuuc))
+$(eval $(call gb_Library_use_externals,lng,\
+ icuuc \
+ icu_headers \
+))
$(eval $(call gb_Library_add_exception_objects,lng,\
linguistic/source/convdic \
diff --git a/lotuswordpro/Library_lwpft.mk b/lotuswordpro/Library_lwpft.mk
index d528c63806f8..361cf7d382bc 100644
--- a/lotuswordpro/Library_lwpft.mk
+++ b/lotuswordpro/Library_lwpft.mk
@@ -53,6 +53,7 @@ $(eval $(call gb_Library_use_libraries,lwpft,\
$(eval $(call gb_Library_use_externals,lwpft,\
icui18n \
icuuc \
+ icu_headers \
))
$(eval $(call gb_Library_set_componentfile,lwpft,lotuswordpro/util/lwpfilter))
diff --git a/solenv/gbuild/UnpackedTarball.mk b/solenv/gbuild/UnpackedTarball.mk
index e6ed63851490..f68da6722a80 100644
--- a/solenv/gbuild/UnpackedTarball.mk
+++ b/solenv/gbuild/UnpackedTarball.mk
@@ -21,7 +21,7 @@ gb_UnpackedTarget_STRIP_COMPONENTS_ZIP_DEFAULT := 0
define gb_UnpackedTarget__get_strip_components
$(strip $(if $(2),\
$(2),\
- $(if $(filter zip,$(suffix $(1))),\
+ $(if $(filter .zip,$(suffix $(1))),\
$(gb_UnpackedTarget_STRIP_COMPONENTS_ZIP_DEFAULT),\
$(gb_UnpackedTarget_STRIP_COMPONENTS_TAR_DEFAULT) \
) \
diff --git a/svtools/Library_svt.mk b/svtools/Library_svt.mk
index aec304bbf8cc..fa014054b806 100644
--- a/svtools/Library_svt.mk
+++ b/svtools/Library_svt.mk
@@ -60,6 +60,7 @@ $(eval $(call gb_Library_use_libraries,svt,\
$(eval $(call gb_Library_use_externals,svt,\
icuuc \
+ icu_headers \
jpeg \
))
diff --git a/svx/Library_svx.mk b/svx/Library_svx.mk
index 6837af4768ef..b331a2636637 100644
--- a/svx/Library_svx.mk
+++ b/svx/Library_svx.mk
@@ -61,7 +61,10 @@ $(eval $(call gb_Library_use_libraries,svx,\
$(gb_UWINAPI) \
))
-$(eval $(call gb_Library_use_external,svx,icuuc))
+$(eval $(call gb_Library_use_externals,svx,\
+ icuuc \
+ icu_headers \
+))
$(eval $(call gb_Library_add_exception_objects,svx,\
svx/source/accessibility/AccessibleControlShape \
diff --git a/sw/Library_msword.mk b/sw/Library_msword.mk
index 02198885ac46..23c5e7adc2ff 100644
--- a/sw/Library_msword.mk
+++ b/sw/Library_msword.mk
@@ -65,6 +65,7 @@ $(eval $(call gb_Library_use_libraries,msword,\
$(eval $(call gb_Library_use_externals,msword,\
icuuc \
+ icu_headers \
libxml2 \
))
diff --git a/sw/Library_sw.mk b/sw/Library_sw.mk
index c66cb2680507..47e55bef301c 100644
--- a/sw/Library_sw.mk
+++ b/sw/Library_sw.mk
@@ -74,6 +74,7 @@ $(eval $(call gb_Library_use_libraries,sw,\
$(eval $(call gb_Library_use_externals,sw,\
icuuc \
+ icu_headers \
libxml2 \
))
diff --git a/tail_build/prj/build.lst b/tail_build/prj/build.lst
index 19db53292a9d..942388219e71 100644
--- a/tail_build/prj/build.lst
+++ b/tail_build/prj/build.lst
@@ -1,2 +1,2 @@
-tb tail_build : EXPAT:expat FONTCONFIG:fontconfig ICU:icu LIBXML2:libxml2 LIBXSLT:libxslt MOZ:moz NSS:nss OPENSSL:openssl PYTHON:python3 REDLAND:redland XPDF:xpdf external solenv soltools NULL
+tb tail_build : EXPAT:expat FONTCONFIG:fontconfig LIBXML2:libxml2 LIBXSLT:libxslt MOZ:moz NSS:nss OPENSSL:openssl PYTHON:python3 REDLAND:redland XPDF:xpdf external solenv soltools NULL
tb tail_build\prj nmake - all tb_prj NULL
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index 66e18c408aed..5c1b2676c51f 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -98,6 +98,7 @@ endif
$(eval $(call gb_Library_use_externals,vcl,\
icule \
icuuc \
+ icu_headers \
lcms2 \
))