diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2019-05-07 21:22:08 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2019-06-14 01:16:22 +0200 |
commit | 58ef8c188b6bb2ed307f5e825cc7e475c33d0c33 (patch) | |
tree | 4a6cdec70c156052c8b69728ade5ed37cf0d8b1e | |
parent | a6201725d760cbce832d4de029b418bb7334df6a (diff) |
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@collabora.com>
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
-rw-r--r-- | Repository.mk | 12 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | shell/Library_spsupp_x86.mk (renamed from shell/Library_spsupp.mk) | 16 | ||||
-rw-r--r-- | shell/Module_shell.mk | 12 | ||||
-rw-r--r-- | solenv/gbuild/Library.mk | 1 |
5 files changed, 34 insertions, 9 deletions
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 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)) |