[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