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

New commits:
commit 0bb0b5b0cfc1c03ded06481892d54bf2760567a9
Author: Michael Stahl <mst...@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 <c...@libreoffice.org>
    Reviewed-by: Michael Stahl <mst...@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,%) :
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to