summaryrefslogtreecommitdiff
path: root/solenv/gbuild/Package.mk
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2019-06-24 08:47:57 +0200
committerJan-Marek Glogowski <glogow@fbihome.de>2019-07-05 20:03:40 +0200
commit368c996b24e09c427a30972b3405493328db6779 (patch)
treeb5eb704df1e21f4942eb73cd999ee7c58853b231 /solenv/gbuild/Package.mk
parent5111baa39117f6e16909566e28a8663a32e25269 (diff)
Make font-based unit test depend on instdir fonts
The current dependency is already a hack, because there is no way I know of to depend on delivered top-level modules like more_fonts. The original patch parses the gb_Package_MODULE_ooo_fonts list of registered packages to add them as build dependencies. But this is not sufficient, as it just adds the dependencies on the installed / unpacked fonts in the workdir (actually it's just the installer filelist), where they can't be found by the unit test running in the instdir environment. So this converts the depndency into a make error, if either the filelist is missing or the included font files. But if we are in a full run and know the more_fonts module, we simply depend on its delivered files. This needs some minimal changes to gbuild, as neither the delivered file list nor the modules class names are yet available. And this moves the fontconfig handling to extras, where the opensymbol font is already handled. Change-Id: I1b70a4c45ff189266ce56c57e534ddc45e7c5c19 Reviewed-on: https://gerrit.libreoffice.org/74624 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'solenv/gbuild/Package.mk')
-rw-r--r--solenv/gbuild/Package.mk15
1 files changed, 9 insertions, 6 deletions
diff --git a/solenv/gbuild/Package.mk b/solenv/gbuild/Package.mk
index 841e819c7c78..b1f2c2f2cfe0 100644
--- a/solenv/gbuild/Package.mk
+++ b/solenv/gbuild/Package.mk
@@ -81,15 +81,15 @@ $(call gb_Package_get_target,%) :
$(call gb_Output_announce,$*,$(true),PKG,2)
$(if $(PACKAGE_DEFINED),,$(call gb_Output_error,Something depends on package $* which does not exist.))
rm -f $@ && \
- mv $(call var2file,$@.tmp,100,$(sort $(FILES))) $@
+ mv $(call var2file,$@.tmp,100,$(sort $(call gb_Package_get_files,$*))) $@
# for other targets that want to create Packages, does not register at Module
define gb_Package_Package_internal
gb_Package_SOURCEDIR_$(1) := $(2)
gb_Package_OUTDIR_$(1) := $(INSTROOT)
$(call gb_Package_get_target,$(1)) : PACKAGE_DEFINED := $(true)
-$(call gb_Package_get_target,$(1)) : FILES :=
-$(call gb_Package_get_clean_target,$(1)) : FILES := $(call gb_Package_get_target,$(1)) $(call gb_Package_get_preparation_target,$(1))
+gb_Package_$(1)_FILES :=
+$(call gb_Package_get_clean_target,$(1)) : override FILES := $(call gb_Package_get_target,$(1)) $(call gb_Package_get_preparation_target,$(1))
$(call gb_Package_get_target,$(1)) : $(call gb_Package_get_preparation_target,$(1))
$(call gb_Package_get_target,$(1)) : $(gb_Module_CURRENTMAKEFILE)
$(call gb_Package_get_target,$(1)) :| $(dir $(call gb_Package_get_target,$(1))).dir
@@ -105,7 +105,7 @@ $$(eval $$(call gb_Output_info,Currently known packages are: $(sort $(gb_Package
$$(eval $$(call gb_Output_error,Package $(1) must be registered in Repository.mk or RepositoryExternal.mk))
endif
$(call gb_Package_Package_internal,$(1),$(2))
-$$(eval $$(call gb_Module_register_target,$(call gb_Package_get_target,$(1)),$(call gb_Package_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,Package_$(1),$(call gb_Package_get_target,$(1)),$(call gb_Package_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),Package)
endef
@@ -136,7 +136,7 @@ $(call gb_Package_get_target,$(1)) : $$(gb_Package_OUTDIR_$(1))/$(2)
$$(gb_Package_OUTDIR_$(1))/$(2) :| $$(dir $$(gb_Package_OUTDIR_$(1))/$(2)).dir
rm -f $$@ && ln -s $(3) $$@
-$(call gb_Package_get_target,$(1)) : FILES += $$(gb_Package_OUTDIR_$(1))/$(2)
+gb_Package_$(1)_FILES += $$(gb_Package_OUTDIR_$(1))/$(2)
$(call gb_Package_get_clean_target,$(1)) : FILES += $$(gb_Package_OUTDIR_$(1))/$(2)
endef
@@ -145,12 +145,15 @@ define gb_Package_add_file
$(call gb_Package__check,$(1))
$(if $(strip $(3)),,$(call gb_Output_error,gb_Package_add_file requires 3 arguments))
$(call gb_Package_get_target,$(1)) : $$(gb_Package_OUTDIR_$(1))/$(2)
-$(call gb_Package_get_target,$(1)) : FILES += $$(gb_Package_OUTDIR_$(1))/$(2)
+gb_Package_$(1)_FILES += $$(gb_Package_OUTDIR_$(1))/$(2)
$(call gb_Package_get_clean_target,$(1)) : FILES += $$(gb_Package_OUTDIR_$(1))/$(2)
$(call gb_PackagePart_PackagePart,$(2),$$(gb_Package_SOURCEDIR_$(1))/$(3),$(call gb_Package_get_preparation_target,$(1)),$$(gb_Package_OUTDIR_$(1)))
endef
+# Returns the list of files of a package
+gb_Package_get_files = $(gb_Package_$(1)_FILES)
+
# Adds several files at once.
#
# Files are copied directly into the specified directory.