diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2016-10-25 16:46:35 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2016-10-25 17:55:45 +0000 |
commit | 475e4b477c6d7ae114c3ae51ba4872882af67a68 (patch) | |
tree | 476d25f6a830123d0b9c98bfc72043e11e91ca35 /external | |
parent | a3b3e336e5bd83754d9caae85dd5b9246bb4f7c1 (diff) |
Move i18nlangtag lib to URELIB
...as stoc/Library_javavm.mk depends on it since
9b09a217c79e8a35fc4de54c89ef49fbf8f72752 "Resolves: #i86470# Wrong Java locale
when using 'nl' and 'fr'". The i18nlangtag lib in turn depends on libs from
external/liblangtag and external/icu, so those needed to be moved to URELIB,
too.
On Windows, the external icu package was already split into icu and icu_ure
(because "libxml2 is in URE and depends on icuuc*.dll on Windows"), so use that
splitting on all platforms. (However, the corresponding changes that were
necessary in RepositoryExternal.mk suggest that they had been missing for the
split Windows case until now, and things had happened to work by accident?)
On macOS, a library's install name reflects its (URELIB, OOO, ...) layer, and in
external/icu/icu4c-build.patch there is only a single place to set that for all
libs from external/icu. This patch changes that from OOO to URELIB, but for the
icui18n lib that should stay at OOO. The hack to make it URELIB nonetheless
works for now. To clean this up again, either the whole of icu could go into
URE (dropping the icu vs. icu_ure package split completely), or the macOS layers
URELIB and OOO could be combined into one (as the libs end up in the same
directory anyway).
Change-Id: Idc262fa41481d06ba2cae86ad7629cdccb392c07
Reviewed-on: https://gerrit.libreoffice.org/30272
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'external')
-rw-r--r-- | external/icu/ExternalPackage_icu.mk | 4 | ||||
-rw-r--r-- | external/icu/ExternalPackage_icu_ure.mk | 17 | ||||
-rw-r--r-- | external/icu/ExternalProject_icu.mk | 13 | ||||
-rw-r--r-- | external/icu/icu4c-build.patch | 2 | ||||
-rw-r--r-- | external/liblangtag/ExternalProject_langtag.mk | 4 |
5 files changed, 27 insertions, 13 deletions
diff --git a/external/icu/ExternalPackage_icu.mk b/external/icu/ExternalPackage_icu.mk index 4c90d8f51a35..dcd4da216920 100644 --- a/external/icu/ExternalPackage_icu.mk +++ b/external/icu/ExternalPackage_icu.mk @@ -29,15 +29,11 @@ endif # $(COM) else ifeq ($(OS),ANDROID) $(eval $(call gb_ExternalPackage_add_files,icu,$(LIBO_LIB_FOLDER),\ - source/lib/libicudatalo.so \ - source/lib/libicuuclo.so \ source/lib/libicui18nlo.so \ )) else # $(OS) != WNT/ANDROID -$(eval $(call gb_ExternalPackage_add_file,icu,$(LIBO_LIB_FOLDER)/libicudata$(gb_Library_DLLEXT).$(ICU_MAJOR),source/lib/libicudata$(gb_Library_DLLEXT).$(icu_VERSION))) -$(eval $(call gb_ExternalPackage_add_file,icu,$(LIBO_LIB_FOLDER)/libicuuc$(gb_Library_DLLEXT).$(ICU_MAJOR),source/lib/libicuuc$(gb_Library_DLLEXT).$(icu_VERSION))) $(eval $(call gb_ExternalPackage_add_file,icu,$(LIBO_LIB_FOLDER)/libicui18n$(gb_Library_DLLEXT).$(ICU_MAJOR),source/lib/libicui18n$(gb_Library_DLLEXT).$(icu_VERSION))) endif # $(OS) diff --git a/external/icu/ExternalPackage_icu_ure.mk b/external/icu/ExternalPackage_icu_ure.mk index a016c8c0e27d..fefe71afdc2b 100644 --- a/external/icu/ExternalPackage_icu_ure.mk +++ b/external/icu/ExternalPackage_icu_ure.mk @@ -7,7 +7,10 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. # -# libxml2 is in URE and depends on icuuc*.dll on Windows - extra package needed +# libxml2 is in URE and depends on icuuc*.dll on Windows; the i18nlangtag lib is +# in URE and depends on the icuuc lib (which in turn depends on the icudata lib) +# on all platforms: + $(eval $(call gb_ExternalPackage_ExternalPackage,icu_ure,icu)) $(eval $(call gb_ExternalPackage_use_external_project,icu_ure,icu)) @@ -27,6 +30,18 @@ $(eval $(call gb_ExternalPackage_add_files,icu_ure,$(LIBO_URE_LIB_FOLDER),\ )) endif # $(COM) +else ifeq ($(OS),ANDROID) + +$(eval $(call gb_ExternalPackage_add_files,icu_ure,$(LIBO_URE_LIB_FOLDER),\ + source/lib/libicudatalo.so \ + source/lib/libicuuclo.so \ +)) + +else # $(OS) != WNT/ANDROID + +$(eval $(call gb_ExternalPackage_add_file,icu_ure,$(LIBO_URE_LIB_FOLDER)/libicudata$(gb_Library_DLLEXT).$(ICU_MAJOR),source/lib/libicudata$(gb_Library_DLLEXT).$(icu_VERSION))) +$(eval $(call gb_ExternalPackage_add_file,icu_ure,$(LIBO_URE_LIB_FOLDER)/libicuuc$(gb_Library_DLLEXT).$(ICU_MAJOR),source/lib/libicuuc$(gb_Library_DLLEXT).$(icu_VERSION))) + endif # $(OS) endif # DISABLE_DYNLOADING diff --git a/external/icu/ExternalProject_icu.mk b/external/icu/ExternalProject_icu.mk index b0578c4bc590..d5d98ff6e31c 100644 --- a/external/icu/ExternalProject_icu.mk +++ b/external/icu/ExternalProject_icu.mk @@ -90,11 +90,14 @@ $(call gb_ExternalProject_get_state_target,icu,build) : $(if $(filter IOS,$(OS)), \ --with-data-packaging=archive) \ && $(MAKE) \ - $(if $(filter MACOSX,$(OS)),&& $(PERL) \ - $(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \ - $(gb_Package_SOURCEDIR_icu)/source/lib/libicudata$(gb_Library_DLLEXT).$(icu_VERSION) \ - $(gb_Package_SOURCEDIR_icu)/source/lib/libicuuc$(gb_Library_DLLEXT).$(icu_VERSION) \ - $(gb_Package_SOURCEDIR_icu)/source/lib/libicui18n$(gb_Library_DLLEXT).$(icu_VERSION)) \ + $(if $(filter MACOSX,$(OS)), \ + && $(PERL) $(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl \ + URELIB \ + $(gb_Package_SOURCEDIR_icu)/source/lib/libicuuc$(gb_Library_DLLEXT).$(icu_VERSION) \ + $(gb_Package_SOURCEDIR_icu)/source/lib/libicui18n$(gb_Library_DLLEXT).$(icu_VERSION) \ + && $(PERL) $(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl \ + OOO \ + $(gb_Package_SOURCEDIR_icu)/source/lib/libicudata$(gb_Library_DLLEXT).$(icu_VERSION)) \ ,source) endif diff --git a/external/icu/icu4c-build.patch b/external/icu/icu4c-build.patch index 1f6010b4c9d2..103e9aea5b64 100644 --- a/external/icu/icu4c-build.patch +++ b/external/icu/icu4c-build.patch @@ -51,7 +51,7 @@ -else -LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET)) -endif -+LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name @__________________________________________________OOO/$(notdir $(MIDDLE_SO_TARGET)) ++LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name @__________________________________________________URELIB/$(notdir $(MIDDLE_SO_TARGET)) ## Compiler switch to embed a runtime search path LD_RPATH= diff --git a/external/liblangtag/ExternalProject_langtag.mk b/external/liblangtag/ExternalProject_langtag.mk index 5be74fbdeb0c..eacf41db28a4 100644 --- a/external/liblangtag/ExternalProject_langtag.mk +++ b/external/liblangtag/ExternalProject_langtag.mk @@ -31,7 +31,7 @@ $(call gb_ExternalProject_get_state_target,langtag,build): $(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) "ac_cv_va_copy=no") \ LIBXML2_CFLAGS="$(LIBXML_CFLAGS)" \ LIBXML2_LIBS="$(if $(filter WNTMSC,$(OS)$(COM)),-L$(call gb_UnpackedTarball_get_dir,xml2)/win32/bin.msvc -llibxml2,$(LIBXML_LIBS))" \ - $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \ + $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________URELIB) \ $(if $(filter-out LINUX FREEBSD,$(OS)),,LDFLAGS="-Wl$(COMMA)-z$(COMMA)origin -Wl$(COMMA)-rpath,\\"\$$\$$ORIGIN) \ $(if $(filter-out SOLARIS,$(OS)),,LDFLAGS="-Wl$(COMMA)-z$(COMMA)origin -Wl$(COMMA)-R$(COMMA)\\"\$$\$$ORIGIN) \ $(if $(filter-out WNTGCC,$(OS)$(COM)),,LDFLAGS="-Wl$(COMMA)--enable-runtime-pseudo-reloc-v2") \ @@ -42,7 +42,7 @@ $(call gb_ExternalProject_get_state_target,langtag,build): $(MAKE) \ LIBO_TUNNEL_LIBRARY_PATH='$(subst ','\'',$(call gb_Helper_extend_ld_path,$(call gb_UnpackedTarball_get_dir,langtag)/liblangtag/.libs))' \ $(if $(filter MACOSX,$(OS)),\ - && $(PERL) $(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \ + && $(PERL) $(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl URELIB \ $(EXTERNAL_WORKDIR)/liblangtag/.libs/liblangtag.1.dylib \ ) \ ) |