[Libreoffice-commits] core.git: configure.ac Repository.mk shell/Library_spsupp.mk shell/Library_spsupp_x86.mk shell/Module_shell.mk solenv/gbuild
Mike Kaganski (via logerrit)
logerrit at kemper.freedesktop.org
Thu Jun 13 23:17:16 UTC 2019
Repository.mk | 12 +++++++++++-
configure.ac | 2 ++
shell/Library_spsupp_x86.mk | 16 +++++++++-------
shell/Module_shell.mk | 12 +++++++++++-
solenv/gbuild/Library.mk | 1 +
5 files changed, 34 insertions(+), 9 deletions(-)
New commits:
commit 58ef8c188b6bb2ed307f5e825cc7e475c33d0c33
Author: Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Tue May 7 21:22:08 2019 +0300
Commit: Mike Kaganski <mike.kaganski at collabora.com>
CommitDate: Fri Jun 14 01:16:22 2019 +0200
Make spsupp*.dll usable on 64-bit Windows
Build spsupp for both x64 and x86, regardless of target platform.
This allows to install the ActiveX component to be used by both
64-bit and 32-bit applications on 64-bit systems (especially IE,
which runs both 64-bit and 32-bit processes simultaneously at
least on Win10), no matter which LO (32/64) was installed.
Move the DLLs from activex feature to ooo, to copy unconditionally.
Registration of LO-specific component will be also unconditional;
registration of replacement of MSO component will need own feature.
This doesn't yet register the component in system: TODO later.
Change-Id: Iccf5e73dfae306cb777f844d40611e23c4520a13
Reviewed-on: https://gerrit.libreoffice.org/71925
Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
Tested-by: Mike Kaganski <mike.kaganski at collabora.com>
diff --git a/Repository.mk b/Repository.mk
index a0faa0d2a026..33cc24fd6881 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -665,16 +665,26 @@ $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,activexbina
$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,activex, \
so_activex \
- spsupp \
))
ifneq ($(BUILD_X64),)
$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,activexwin64, \
so_activex_x64 \
+))
+endif
+
+ifneq ($(CXX_X64_BINARY),)
+$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
spsupp_x64 \
))
endif
+ifneq ($(CXX_X86_BINARY),)
+$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
+ spsupp_x86 \
+))
+endif
+
$(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooobinarytable, \
$(if $(WINDOWS_SDK_HOME),\
instooofiltmsi \
diff --git a/configure.ac b/configure.ac
index 56485ac37f6d..5a34fe080c33 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3581,6 +3581,8 @@ if test "$_os" = "WINNT"; then
AC_MSG_RESULT([not found])
AC_MSG_WARN([Installation set will not contain 64-bit Explorer extensions])
fi
+ else
+ CXX_X64_BINARY=$MSVC_CXX
fi
AC_SUBST(BUILD_X64)
diff --git a/shell/Library_spsupp.mk b/shell/Library_spsupp_x86.mk
similarity index 63%
rename from shell/Library_spsupp.mk
rename to shell/Library_spsupp_x86.mk
index 1963bbfaebda..ba101b7bb4ec 100644
--- a/shell/Library_spsupp.mk
+++ b/shell/Library_spsupp_x86.mk
@@ -7,18 +7,20 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
-$(eval $(call gb_Library_Library,spsupp))
+$(eval $(call gb_Library_Library,spsupp_x86))
-$(eval $(call gb_Library_use_custom_headers,spsupp,\
+$(eval $(call gb_Library_set_x86,spsupp_x86,YES))
+
+$(eval $(call gb_Library_use_custom_headers,spsupp_x86,\
shell/source/win32/spsupp/idl \
))
-$(eval $(call gb_Library_set_include,spsupp,\
+$(eval $(call gb_Library_set_include,spsupp_x86,\
-I$(SRCDIR)/shell/inc/spsupp \
$$(INCLUDE) \
))
-$(eval $(call gb_Library_use_system_win32_libs,spsupp,\
+$(eval $(call gb_Library_use_system_win32_libs,spsupp_x86,\
advapi32 \
kernel32 \
ole32 \
@@ -26,13 +28,13 @@ $(eval $(call gb_Library_use_system_win32_libs,spsupp,\
user32 \
))
-$(eval $(call gb_Library_add_nativeres,spsupp,spsupp))
+$(eval $(call gb_Library_add_nativeres,spsupp_x86,spsupp))
-$(eval $(call gb_Library_add_ldflags,spsupp,\
+$(eval $(call gb_Library_add_ldflags,spsupp_x86,\
/DEF:$(SRCDIR)/shell/source/win32/spsupp/spsupp.def \
))
-$(eval $(call gb_Library_add_exception_objects,spsupp,\
+$(eval $(call gb_Library_add_exception_objects,spsupp_x86,\
shell/source/win32/spsupp/COMOpenDocuments \
shell/source/win32/spsupp/registrar \
shell/source/win32/spsupp/spsuppClassFactory \
diff --git a/shell/Module_shell.mk b/shell/Module_shell.mk
index c0c42cc5bea5..a03e020bf4f7 100644
--- a/shell/Module_shell.mk
+++ b/shell/Module_shell.mk
@@ -56,7 +56,6 @@ $(eval $(call gb_Module_add_targets,shell,\
StaticLibrary_xmlparser \
WinResTarget_shlxthdl \
CustomTarget_spsupp_idl \
- Library_spsupp \
WinResTarget_spsupp \
WinResTarget_spsupp_dlg \
))
@@ -74,10 +73,21 @@ $(eval $(call gb_Module_add_targets,shell,\
Library_shlxthdl_x64 \
StaticLibrary_shlxthandler_common_x64 \
StaticLibrary_xmlparser_x64 \
+))
+endif
+
+ifneq ($(CXX_X64_BINARY),)
+$(eval $(call gb_Module_add_targets,shell,\
Library_spsupp_x64 \
))
endif
+ifneq ($(CXX_X86_BINARY),)
+$(eval $(call gb_Module_add_targets,shell,\
+ Library_spsupp_x86 \
+))
+endif
+
endif
ifeq ($(OS),MACOSX)
diff --git a/solenv/gbuild/Library.mk b/solenv/gbuild/Library.mk
index 99688916f4eb..0b8903cc80e6 100644
--- a/solenv/gbuild/Library.mk
+++ b/solenv/gbuild/Library.mk
@@ -204,6 +204,7 @@ gb_Library_set_include = $(call gb_Library__forward_to_Linktarget,$(subst gb_Lib
gb_Library_add_ldflags = $(call gb_Library__forward_to_Linktarget,$(subst gb_Library_,,$(0)),$(1),$(2),$(3))
gb_Library_set_ldflags = $(call gb_Library__forward_to_Linktarget,$(subst gb_Library_,,$(0)),$(1),$(2),$(3))
gb_Library_set_x64 = $(call gb_Library__forward_to_Linktarget,$(subst gb_Library_,,$(0)),$(1),$(2),$(3))
+gb_Library_set_x86 = $(call gb_Library__forward_to_Linktarget,$(subst gb_Library_,,$(0)),$(1),$(2),$(3))
gb_Library_add_libs = $(call gb_Library__forward_to_Linktarget,$(subst gb_Library_,,$(0)),$(1),$(2),$(3))
gb_Library_disable_standard_system_libs = $(call gb_Library__forward_to_Linktarget,$(subst gb_Library_,,$(0)),$(1),$(2),$(3))
gb_Library_use_system_darwin_frameworks = $(call gb_Library__forward_to_Linktarget,$(subst gb_Library_,,$(0)),$(1),$(2),$(3))
More information about the Libreoffice-commits
mailing list