summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2014-07-24 00:22:51 +0200
committerCaolán McNamara <caolanm@redhat.com>2014-07-24 12:30:42 +0000
commit3012156bab9dc0504a61fa7062f8e7cbd677bad4 (patch)
tree457afa71770629be870bbec45422b9667618c515
parent5a49362a9c75566568e18fff973635a53b9e594e (diff)
icu: un-break installation of Java extensions on Windows (rel. fdo#63756)
Linking libxml2 against ICU libraries has a nasty side effect: The URE library javavm.dll links against URE libxml2.dll, which is now linked against OOO icuuc53.dll; when a URE program, like uno.exe, tries to load javavm.dll it fails because the OOO layer "program" dir is not on PATH; this breaks the installation of Java extensions. Fix that by splitting up ICU libraries and putting the required ones into URE layer. (regression from 7515b1a90fac9e31733c0fdcc1156adadf0e6f99) Change-Id: If98dd0357162cb632d9762cd2d20162de5eb1a52 (cherry picked from commit 057613c6864204ac5c09260e93a8f14cc9768b90) Reviewed-on: https://gerrit.libreoffice.org/10500 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--RepositoryExternal.mk4
-rw-r--r--external/icu/ExternalPackage_icu.mk4
-rw-r--r--external/icu/ExternalPackage_icu_ure.mk33
-rw-r--r--external/icu/Module_icu.mk1
4 files changed, 38 insertions, 4 deletions
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index c149869098b1..ff5059851999 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -1393,6 +1393,10 @@ endef
else # !SYSTEM_ICU
+$(eval $(call gb_Helper_register_packages_for_install,ure, \
+ icu_ure \
+))
+
$(eval $(call gb_Helper_register_packages_for_install,ooo, \
icu \
))
diff --git a/external/icu/ExternalPackage_icu.mk b/external/icu/ExternalPackage_icu.mk
index be3a1d80491a..4c90d8f51a35 100644
--- a/external/icu/ExternalPackage_icu.mk
+++ b/external/icu/ExternalPackage_icu.mk
@@ -18,14 +18,10 @@ ifeq ($(OS),WNT)
ifeq ($(COM),GCC)
$(eval $(call gb_ExternalPackage_add_files,icu,$(LIBO_LIB_FOLDER),\
- source/lib/icudt$(ICU_MAJOR).dll \
- source/lib/icuuc$(ICU_MAJOR).dll \
source/lib/icuin$(ICU_MAJOR).dll \
))
else
$(eval $(call gb_ExternalPackage_add_files,icu,$(LIBO_LIB_FOLDER),\
- source/lib/icudt$(if $(MSVC_USE_DEBUG_RUNTIME),d)$(ICU_MAJOR).dll \
- source/lib/icuuc$(if $(MSVC_USE_DEBUG_RUNTIME),d)$(ICU_MAJOR).dll \
source/lib/icuin$(if $(MSVC_USE_DEBUG_RUNTIME),d)$(ICU_MAJOR).dll \
))
endif # $(COM)
diff --git a/external/icu/ExternalPackage_icu_ure.mk b/external/icu/ExternalPackage_icu_ure.mk
new file mode 100644
index 000000000000..a016c8c0e27d
--- /dev/null
+++ b/external/icu/ExternalPackage_icu_ure.mk
@@ -0,0 +1,33 @@
+# -*- 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/.
+#
+
+# libxml2 is in URE and depends on icuuc*.dll on Windows - extra package needed
+$(eval $(call gb_ExternalPackage_ExternalPackage,icu_ure,icu))
+
+$(eval $(call gb_ExternalPackage_use_external_project,icu_ure,icu))
+
+ifneq ($(DISABLE_DYNLOADING),TRUE)
+ifeq ($(OS),WNT)
+
+ifeq ($(COM),GCC)
+$(eval $(call gb_ExternalPackage_add_files,icu_ure,$(LIBO_URE_LIB_FOLDER),\
+ source/lib/icudt$(ICU_MAJOR).dll \
+ source/lib/icuuc$(ICU_MAJOR).dll \
+))
+else
+$(eval $(call gb_ExternalPackage_add_files,icu_ure,$(LIBO_URE_LIB_FOLDER),\
+ source/lib/icudt$(if $(MSVC_USE_DEBUG_RUNTIME),d)$(ICU_MAJOR).dll \
+ source/lib/icuuc$(if $(MSVC_USE_DEBUG_RUNTIME),d)$(ICU_MAJOR).dll \
+))
+endif # $(COM)
+
+endif # $(OS)
+endif # DISABLE_DYNLOADING
+
+# vim: set noet sw=4 ts=4:
diff --git a/external/icu/Module_icu.mk b/external/icu/Module_icu.mk
index 258c26ea4e61..5c99b930fc89 100644
--- a/external/icu/Module_icu.mk
+++ b/external/icu/Module_icu.mk
@@ -12,6 +12,7 @@ $(eval $(call gb_Module_Module,icu))
$(eval $(call gb_Module_add_targets,icu,\
UnpackedTarball_icu \
ExternalPackage_icu \
+ ExternalPackage_icu_ure \
ExternalProject_icu \
))