[Libreoffice-commits] core.git: solenv/gbuild

Michael Stahl mstahl at redhat.com
Wed Feb 17 09:57:58 UTC 2016


 solenv/gbuild/AutoInstall.mk |   16 ++++++++++++++++
 1 file changed, 16 insertions(+)

New commits:
commit 0bb0b5b0cfc1c03ded06481892d54bf2760567a9
Author: Michael Stahl <mstahl at redhat.com>
Date:   Wed Feb 17 00:05:17 2016 +0100

    gbuild: AutoInstall: Packages in ooo module run into 8k Win32...
    
    ... command line limit, so use try to use $(file) on that platfrom while
    preserving the existing echo code for Macs.
    
    Change-Id: I65e3f6b082df201830fa16375a9fad407cff8085
    Reviewed-on: https://gerrit.libreoffice.org/22409
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Michael Stahl <mstahl at redhat.com>

diff --git a/solenv/gbuild/AutoInstall.mk b/solenv/gbuild/AutoInstall.mk
index 1d999d6..1fa2d38 100644
--- a/solenv/gbuild/AutoInstall.mk
+++ b/solenv/gbuild/AutoInstall.mk
@@ -9,6 +9,13 @@
 
 # AutoInstall class
 
+# this is pretty horrible because
+# a) make sucks
+# b) this is an abuse of make anyway
+# c) make 4.0 has $(file) but Apple prefers to ship 10 year old version instead
+# d) Win32 make has an 8k command line lengh limit so needs to use $(file)
+# maybe generation should be moved to some python script or something
+
 define gb_AutoInstall__escape
 $(subst .,_,$(subst -,_,$(subst /,_,$(1))))
 endef
@@ -34,6 +41,11 @@ $(SCP2LIBTEMPLATE)(auto_$*_lib_$(call gb_AutoInstall__escape,$(1)),$(call gb_Lib
 
 endef
 
+define gb_AutoInstall__gen_pkg
+PACKAGE_FILELIST(auto_$*_pkg_$(call gb_AutoInstall__escape,$(1)),$(1).filelist)
+
+endef
+
 $(dir $(call gb_AutoInstall_get_target,%)).dir :
 	$(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
 
@@ -67,8 +79,12 @@ endif
 		echo "$(SCP2EXETEMPLATE)(auto_$*_exe_$(call gb_AutoInstall__escape,$(exe)),$(call gb_Executable_get_filename,$(exe))$(if $(SCP2COMPONENTCONDITION),$(COMMA)$(SCP2COMPONENTCONDITION)))" >> $@;)
 	$(foreach jar,$(gb_Jar_MODULE_$*),\
 		echo '$(SCP2JARTEMPLATE)(auto_$*_jar_$(call gb_AutoInstall__escape,$(jar)),$(jar).jar)' >> $@;)
+ifeq ($(HAVE_GNUMAKE_FILE_FUNC),)
 	$(foreach pkg,$(gb_Package_MODULE_$*),\
 		echo 'PACKAGE_FILELIST(auto_$*_pkg_$(call gb_AutoInstall__escape,$(pkg)),$(pkg).filelist)' >> $@;)
+else
+	$(file >>$@,$(foreach pkg,$(gb_Package_MODULE_$*),$(call gb_AutoInstall__gen_pkg,$(pkg))))
+endif
 
 
 $(call gb_AutoInstall_get_clean_target,%) :


More information about the Libreoffice-commits mailing list