From b92a0d9208e1b1a33818a3c451e9952963295f6c Mon Sep 17 00:00:00 2001 From: Peter Foley Date: Tue, 25 Dec 2012 17:39:43 -0500 Subject: convert icu to gbuild and add to tail_build Change-Id: Id7d8bc05b1393cc2bae4a531c8a47f62df24b1d6 Reviewed-on: https://gerrit.libreoffice.org/1488 Reviewed-by: Tor Lillqvist Tested-by: Tor Lillqvist --- Module_tail_build.mk | 1 + RepositoryExternal.mk | 13 + RepositoryModule_ooo.mk | 1 + editeng/Library_editeng.mk | 5 +- forms/Library_frm.mk | 1 + hunspell/StaticLibrary_hunspell.mk | 2 + .../CppunitTest_i18npool_test_breakiterator.mk | 2 + i18npool/CppunitTest_i18npool_test_textsearch.mk | 1 + i18npool/Executable_gencoll_rule.mk | 1 + i18npool/Library_i18npool.mk | 1 + i18npool/Library_i18nsearch.mk | 1 + i18nutil/Library_i18nutil.mk | 2 + icu/ExternalPackage_icu.mk | 88 ++++++ icu/ExternalProject_icu.mk | 85 +++++ icu/Makefile | 7 + icu/Module_icu.mk | 21 ++ icu/UnpackedTarball_icu.mk | 44 +++ icu/UnpackedTarball_icu_data.mk | 14 + icu/icu4c-buffer-overflow.patch | 4 +- icu/icu4c-mkdir.patch | 2 +- icu/icu4c-solarisgcc.patch | 18 +- icu/icu4c-warnings.patch | 2 +- icu/makefile.mk | 352 --------------------- icu/prj/build.lst | 2 - icu/prj/d.lst | 49 --- icu/prj/dmake | 0 l10ntools/Executable_helpex.mk | 1 + l10ntools/Executable_stringex.mk | 1 + l10ntools/Executable_transex3.mk | 1 + l10ntools/Executable_treex.mk | 3 +- l10ntools/Executable_uiex.mk | 1 + l10ntools/Executable_xrmex.mk | 1 + l10ntools/StaticLibrary_transex.mk | 5 +- linguistic/Library_lng.mk | 5 +- lotuswordpro/Library_lwpft.mk | 1 + solenv/gbuild/UnpackedTarball.mk | 2 +- svtools/Library_svt.mk | 1 + svx/Library_svx.mk | 5 +- sw/Library_msword.mk | 1 + sw/Library_sw.mk | 1 + tail_build/prj/build.lst | 2 +- vcl/Library_vcl.mk | 1 + 42 files changed, 328 insertions(+), 423 deletions(-) create mode 100644 icu/ExternalPackage_icu.mk create mode 100644 icu/ExternalProject_icu.mk create mode 100644 icu/Makefile create mode 100644 icu/Module_icu.mk create mode 100644 icu/UnpackedTarball_icu.mk create mode 100644 icu/UnpackedTarball_icu_data.mk delete mode 100644 icu/makefile.mk delete mode 100644 icu/prj/dmake 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 -# -# 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 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 \ )) -- cgit