diff options
author | Michael Stahl <mstahl@redhat.com> | 2016-02-17 00:05:17 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2016-02-17 09:57:16 +0000 |
commit | 0bb0b5b0cfc1c03ded06481892d54bf2760567a9 (patch) | |
tree | 6da9b058b78d9c9f802d184595c9e1d06d9cfac1 /solenv/gbuild | |
parent | b94272a55ee208b22cf73e8738152d9feaa7916f (diff) |
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@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'solenv/gbuild')
-rw-r--r-- | solenv/gbuild/AutoInstall.mk | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/solenv/gbuild/AutoInstall.mk b/solenv/gbuild/AutoInstall.mk index 1d999d645ff7..1fa2d38f05c1 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,%) : |