summaryrefslogtreecommitdiff
path: root/solenv
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
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')
-rw-r--r--solenv/PythonTest_solenv_python.mk2
-rw-r--r--solenv/gbuild/AllLangHelp.mk2
-rw-r--r--solenv/gbuild/AllLangMoTarget.mk2
-rw-r--r--solenv/gbuild/AllLangPackage.mk2
-rw-r--r--solenv/gbuild/AutoInstall.mk2
-rw-r--r--solenv/gbuild/CliLibrary.mk2
-rw-r--r--solenv/gbuild/CliNativeLibrary.mk2
-rw-r--r--solenv/gbuild/CliUnoApi.mk2
-rw-r--r--solenv/gbuild/CompilerTest.mk2
-rw-r--r--solenv/gbuild/Configuration.mk2
-rw-r--r--solenv/gbuild/CppunitTest.mk10
-rw-r--r--solenv/gbuild/CustomTarget.mk2
-rw-r--r--solenv/gbuild/Dictionary.mk2
-rw-r--r--solenv/gbuild/Executable.mk2
-rw-r--r--solenv/gbuild/Extension.mk2
-rw-r--r--solenv/gbuild/ExtensionPackage.mk4
-rw-r--r--solenv/gbuild/ExternalPackage.mk2
-rw-r--r--solenv/gbuild/ExternalProject.mk2
-rw-r--r--solenv/gbuild/Gallery.mk2
-rw-r--r--solenv/gbuild/GeneratedPackage.mk2
-rw-r--r--solenv/gbuild/InstallModule.mk2
-rw-r--r--solenv/gbuild/InstallScript.mk2
-rw-r--r--solenv/gbuild/InternalUnoApi.mk2
-rw-r--r--solenv/gbuild/Jar.mk2
-rw-r--r--solenv/gbuild/JunitTest.mk4
-rw-r--r--solenv/gbuild/Library.mk2
-rw-r--r--solenv/gbuild/Module.mk14
-rw-r--r--solenv/gbuild/Package.mk15
-rw-r--r--solenv/gbuild/PackageSet.mk2
-rw-r--r--solenv/gbuild/Pagein.mk2
-rw-r--r--solenv/gbuild/PythonTest.mk5
-rw-r--r--solenv/gbuild/Pyuno.mk2
-rw-r--r--solenv/gbuild/Rdb.mk2
-rw-r--r--solenv/gbuild/StaticLibrary.mk2
-rw-r--r--solenv/gbuild/TestHelpers.mk45
-rw-r--r--solenv/gbuild/UIConfig.mk2
-rw-r--r--solenv/gbuild/UITest.mk4
-rw-r--r--solenv/gbuild/UnoApi.mk2
-rw-r--r--solenv/gbuild/UnpackedTarball.mk2
-rw-r--r--solenv/gbuild/WinResTarget.mk2
-rw-r--r--solenv/gbuild/Zip.mk2
-rw-r--r--solenv/gbuild/gbuild.mk1
-rw-r--r--solenv/qa/python/gbuildtojson.py1
43 files changed, 112 insertions, 57 deletions
diff --git a/solenv/PythonTest_solenv_python.mk b/solenv/PythonTest_solenv_python.mk
index 27145a4e5db3..3d3ca68136c0 100644
--- a/solenv/PythonTest_solenv_python.mk
+++ b/solenv/PythonTest_solenv_python.mk
@@ -15,4 +15,6 @@ $(eval $(call gb_PythonTest_add_modules,solenv_python,$(SRCDIR)/solenv/qa/python
$(call gb_PythonTest_get_target,solenv_python): $(call gb_CustomTarget_get_target,solenv/gbuildtesttools)
+$(eval $(call gb_PythonTest_use_more_fonts,solenv_python))
+
# vim: set noet sw=4 ts=4:
diff --git a/solenv/gbuild/AllLangHelp.mk b/solenv/gbuild/AllLangHelp.mk
index 22d5ad8b533b..d013c16cfe3a 100644
--- a/solenv/gbuild/AllLangHelp.mk
+++ b/solenv/gbuild/AllLangHelp.mk
@@ -72,7 +72,7 @@ $(foreach lang,$(gb_HELP_LANGS),\
$(call gb_AllLangHelp_get_target,$(1)) :| $(dir $(call gb_AllLangHelp_get_target,$(1))).dir
-$$(eval $$(call gb_Module_register_target,$(call gb_AllLangHelp_get_target,$(1)),$(call gb_AllLangHelp_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,AllLangHelp_$(1),$(call gb_AllLangHelp_get_target,$(1)),$(call gb_AllLangHelp_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),AllLangHelp)
endef
diff --git a/solenv/gbuild/AllLangMoTarget.mk b/solenv/gbuild/AllLangMoTarget.mk
index 63789f768ec0..8afec6fddecf 100644
--- a/solenv/gbuild/AllLangMoTarget.mk
+++ b/solenv/gbuild/AllLangMoTarget.mk
@@ -91,7 +91,7 @@ $(call gb_Helper_install,$(call gb_AllLangMoTarget_get_target,$(1)), \
$(call gb_MoTarget_get_install_target,$(shell $(SRCDIR)/solenv/bin/localestr $(lang))/LC_MESSAGES/$(1)), \
$(call gb_MoTarget_get_target,$(1)$(lang))))
-$$(eval $$(call gb_Module_register_target,$(call gb_AllLangMoTarget_get_target,$(1)),$(call gb_AllLangMoTarget_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,AllLangMoTarget_$(1),$(call gb_AllLangMoTarget_get_target,$(1)),$(call gb_AllLangMoTarget_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),AllLangMoTarget)
$(call gb_Postprocess_register_target,AllResources,AllLangMoTarget,$(1))
diff --git a/solenv/gbuild/AllLangPackage.mk b/solenv/gbuild/AllLangPackage.mk
index f0cf1c92e70c..958e20b5d5b9 100644
--- a/solenv/gbuild/AllLangPackage.mk
+++ b/solenv/gbuild/AllLangPackage.mk
@@ -34,7 +34,7 @@ $(foreach lang,$(gb_AllLangPackage_LANGS),$(call gb_AllLangPackage__AllLangPacka
$(call gb_AllLangPackage_get_target,$(1)) :| $(dir $(call gb_AllLangPackage_get_target,$(1))).dir
-$$(eval $$(call gb_Module_register_target,$(call gb_AllLangPackage_get_target,$(1)),$(call gb_AllLangPackage_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,AllLangPackage_$(1),$(call gb_AllLangPackage_get_target,$(1)),$(call gb_AllLangPackage_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),AllLangPackage)
endef
diff --git a/solenv/gbuild/AutoInstall.mk b/solenv/gbuild/AutoInstall.mk
index 8665644bea78..71d7016f7485 100644
--- a/solenv/gbuild/AutoInstall.mk
+++ b/solenv/gbuild/AutoInstall.mk
@@ -50,7 +50,7 @@ $(call gb_AutoInstall_get_clean_target,%) :
define gb_AutoInstall_AutoInstall
$(call gb_AutoInstall_get_target,all) :| $(dir $(call gb_AutoInstall_get_target,all)).dir
-$$(eval $$(call gb_Module_register_target,$(call gb_AutoInstall_get_target,all),$(call gb_AutoInstall_get_clean_target,all)))
+$$(eval $$(call gb_Module_register_target,AutoInstall_$(1),$(call gb_AutoInstall_get_target,all),$(call gb_AutoInstall_get_clean_target,all)))
$(call gb_Helper_make_userfriendly_targets,all,AutoInstall)
endef
diff --git a/solenv/gbuild/CliLibrary.mk b/solenv/gbuild/CliLibrary.mk
index e7fa508efada..e0adb83db978 100644
--- a/solenv/gbuild/CliLibrary.mk
+++ b/solenv/gbuild/CliLibrary.mk
@@ -73,7 +73,7 @@ $(call gb_CliLibrary_get_target,$(1)) :| $(call gb_CliAssembly_get_target,$(1))
$(call gb_CliLibrary_get_target,$(1)) :| $(dir $(call gb_CliLibrary_get_target,$(1))).dir
$(call gb_CliLibrary_get_clean_target,$(1)) : $(call gb_CliAssembly_get_clean_target,$(1))
-$$(eval $$(call gb_Module_register_target,$(call gb_CliLibrary_get_target,$(1)),$(call gb_CliLibrary_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,CliLibrary_$(1),$(call gb_CliLibrary_get_target,$(1)),$(call gb_CliLibrary_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),CliLibrary)
$(call gb_CliLibrary_get_target,$(1)) :
diff --git a/solenv/gbuild/CliNativeLibrary.mk b/solenv/gbuild/CliNativeLibrary.mk
index 6ff28ce6f842..87b188b8fd23 100644
--- a/solenv/gbuild/CliNativeLibrary.mk
+++ b/solenv/gbuild/CliNativeLibrary.mk
@@ -53,7 +53,7 @@ $(call gb_CliNativeLibrary_get_target,$(1)) :| $(call gb_CliAssembly_get_target,
$(call gb_CliNativeLibrary_get_target,$(1)) :| $(dir $(call gb_CliNativeLibrary_get_target,$(1))).dir
$(call gb_CliNativeLibrary_get_clean_target,$(1)) : $(call gb_CliAssembly_get_clean_target,$(1))
-$$(eval $$(call gb_Module_register_target,$(call gb_CliNativeLibrary_get_target,$(1)),$(call gb_CliNativeLibrary_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,CliNativeLibrary_$(1),$(call gb_CliNativeLibrary_get_target,$(1)),$(call gb_CliNativeLibrary_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),CliNativeLibrary)
$(call gb_CliNativeLibrary_get_target,$(1)) :
diff --git a/solenv/gbuild/CliUnoApi.mk b/solenv/gbuild/CliUnoApi.mk
index d12dc62f7998..153ee7d9e533 100644
--- a/solenv/gbuild/CliUnoApi.mk
+++ b/solenv/gbuild/CliUnoApi.mk
@@ -57,7 +57,7 @@ $(call gb_CliUnoApi_get_target,$(1)) :| $(call gb_CliAssembly_get_target,$(1))
$(call gb_CliUnoApi_get_target,$(1)) :| $(dir $(call gb_CliUnoApi_get_target,$(1))).dir
$(call gb_CliUnoApi_get_clean_target,$(1)) : $(call gb_CliAssembly_get_clean_target,$(1))
-$$(eval $$(call gb_Module_register_target,$(call gb_CliUnoApi_get_target,$(1)),$(call gb_CliUnoApi_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,CliUnoApi_$(1),$(call gb_CliUnoApi_get_target,$(1)),$(call gb_CliUnoApi_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),CliUnoApi)
diff --git a/solenv/gbuild/CompilerTest.mk b/solenv/gbuild/CompilerTest.mk
index f4dae61bd2f2..7657b8321f3d 100644
--- a/solenv/gbuild/CompilerTest.mk
+++ b/solenv/gbuild/CompilerTest.mk
@@ -20,7 +20,7 @@ $(call gb_LinkTarget_get_target,$(2)): COMPILER_TEST := $(true)
$(call gb_LinkTarget_get_target,$(2)): ENABLE_WERROR := $(true)
$(call gb_CompilerTest_get_target,$(1)): $(call gb_LinkTarget_get_target,$(2))
$(call gb_CompilerTest_get_clean_target,$(1)): $(call gb_LinkTarget_get_clean_target,$(2))
-$$(eval $$(call gb_Module_register_target,$(call gb_CompilerTest_get_target,$(1)),$(call gb_CompilerTest_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,CompilerTest_$(1),$(call gb_CompilerTest_get_target,$(1)),$(call gb_CompilerTest_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),CompilerTest)
endef
diff --git a/solenv/gbuild/Configuration.mk b/solenv/gbuild/Configuration.mk
index 378a3d5625b4..72fda5e1f675 100644
--- a/solenv/gbuild/Configuration.mk
+++ b/solenv/gbuild/Configuration.mk
@@ -311,7 +311,7 @@ $(call gb_Configuration_get_preparation_target,%) :
define gb_Configuration_Configuration
$(eval gb_Configuration_NODELIVER_$(1) := $(2))
-$$(eval $$(call gb_Module_register_target,$(call gb_Configuration_get_target,$(1)),$(call gb_Configuration_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,Configuration_$(1),$(call gb_Configuration_get_target,$(1)),$(call gb_Configuration_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),Configuration)
endef
diff --git a/solenv/gbuild/CppunitTest.mk b/solenv/gbuild/CppunitTest.mk
index 98f05417c5e8..abdacbd8987c 100644
--- a/solenv/gbuild/CppunitTest.mk
+++ b/solenv/gbuild/CppunitTest.mk
@@ -192,7 +192,7 @@ $(call gb_CppunitTest_get_target,$(1)) : UNO_SERVICES :=
$(call gb_CppunitTest_get_target,$(1)) : UNO_TYPES :=
$(call gb_CppunitTest_get_target,$(1)) : HEADLESS := --headless
$(call gb_CppunitTest_get_target,$(1)) : EXTRA_ENV_VARS :=
-$$(eval $$(call gb_Module_register_target,$(call gb_CppunitTest_get_target,$(1)),$(call gb_CppunitTest_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,CppunitTest_$(1),$(call gb_CppunitTest_get_target,$(1)),$(call gb_CppunitTest_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),CppunitTest)
endef
@@ -368,13 +368,7 @@ $(call gb_CppunitTest_get_target,$(1)) : $(call gb_Executable_get_target,$(2))
endef
-define gb_CppunitTest_use_more_fonts
-ifneq ($(filter MORE_FONTS,$(BUILD_TYPE)),)
-$(call gb_CppunitTest_get_target,$(1)) : \
- $(foreach font,$(gb_Package_MODULE_ooo_fonts),$(call gb_Package_get_target,$(font)))
-endif
-
-endef
+gb_CppunitTest_use_more_fonts = $(call gb_TestHelpers_use_more_fonts,$(call gb_CppunitTest_get_target,$(1)))
define gb_CppunitTest_use_java_ure
$(call gb_CppunitTest_get_target,$(1)) : JAVA_URE := $(true)
diff --git a/solenv/gbuild/CustomTarget.mk b/solenv/gbuild/CustomTarget.mk
index 28ffc16af22f..71dc749aa918 100644
--- a/solenv/gbuild/CustomTarget.mk
+++ b/solenv/gbuild/CustomTarget.mk
@@ -33,7 +33,7 @@ $(call gb_CustomTarget_get_clean_target,%) :
rm -f $(call gb_CustomTarget_get_target,$*))
define gb_CustomTarget_CustomTarget
-$(eval $(call gb_Module_register_target,$(call gb_CustomTarget_get_target,$(1)),$(call gb_CustomTarget_get_clean_target,$(1))))
+$(eval $(call gb_Module_register_target,CustomTarget_$(1),$(call gb_CustomTarget_get_target,$(1)),$(call gb_CustomTarget_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),CustomTarget)
$(call gb_CustomTarget_get_target,$(1)) :| $(dir $(call gb_CustomTarget_get_target,$(1))).dir
diff --git a/solenv/gbuild/Dictionary.mk b/solenv/gbuild/Dictionary.mk
index 6c4e6a7490e7..97e7f6f5d677 100644
--- a/solenv/gbuild/Dictionary.mk
+++ b/solenv/gbuild/Dictionary.mk
@@ -227,7 +227,7 @@ $(call gb_Dictionary_get_target,$(1)) : $(call gb_PackageSet_get_target,$(call g
$(call gb_Dictionary_get_target,$(1)) :| $(dir $(call gb_Dictionary_get_target,$(1))).dir
$(call gb_Dictionary_get_clean_target,$(1)) : $(call gb_PackageSet_get_clean_target,$(call gb_Dictionary_get_packagesetname,$(1)))
-$$(eval $$(call gb_Module_register_target,$(call gb_Dictionary_get_target,$(1)),$(call gb_Dictionary_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,Dictionary_$(1),$(call gb_Dictionary_get_target,$(1)),$(call gb_Dictionary_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),Dictionary)
endef
diff --git a/solenv/gbuild/Executable.mk b/solenv/gbuild/Executable.mk
index 94d72529ffb6..50564ed691e5 100644
--- a/solenv/gbuild/Executable.mk
+++ b/solenv/gbuild/Executable.mk
@@ -76,7 +76,7 @@ $(call gb_Executable_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_tar
$(call gb_Executable_get_clean_target,$(1)) : AUXTARGETS :=
$(call gb_Executable_Executable_platform,$(1),$(2),$(gb_Executable_BINDIR)/$(1).lib)
-$$(eval $$(call gb_Module_register_target,$(call gb_Executable_get_target,$(1)),$(call gb_Executable_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,Executable_$(1),$(call gb_Executable_get_target,$(1)),$(call gb_Executable_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),Executable)
endef
diff --git a/solenv/gbuild/Extension.mk b/solenv/gbuild/Extension.mk
index f23165e1d7bb..0a4c02daf5ea 100644
--- a/solenv/gbuild/Extension.mk
+++ b/solenv/gbuild/Extension.mk
@@ -140,7 +140,7 @@ endif
$(foreach lang,$(gb_Extension_ALL_LANGS), \
$(call gb_Extension__compile_help_onelang,$(1),$(lang)))
-$$(eval $$(call gb_Module_register_target,$(call gb_Extension__get_final_target,$(1)),$(call gb_Extension_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,Extension_$(1),$(call gb_Extension__get_final_target,$(1)),$(call gb_Extension_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),Extension,$(call gb_Extension__get_final_target,$(1)))
endef
diff --git a/solenv/gbuild/ExtensionPackage.mk b/solenv/gbuild/ExtensionPackage.mk
index e2c99a4764b6..7a77157bcdd1 100644
--- a/solenv/gbuild/ExtensionPackage.mk
+++ b/solenv/gbuild/ExtensionPackage.mk
@@ -46,7 +46,7 @@ $(call gb_ExtensionPackage_ExtensionPackage_internal,$(1),$(2))
$(2) : $(call gb_ExtensionPackage_get_preparation_target,$(1))
touch $$@
-$$(eval $$(call gb_Module_register_target,$(call gb_ExtensionPackage_get_target,$(1)),$(call gb_ExtensionPackage_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,ExtensionPackage_$(1),$(call gb_ExtensionPackage_get_target,$(1)),$(call gb_ExtensionPackage_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),ExtensionPackage)
endef
@@ -73,7 +73,7 @@ $(call gb_ExtensionPackageSet_get_target,%) :
# call gb_ExtensionPackageSet_ExtensionPackageSet,set
define gb_ExtensionPackageSet_ExtensionPackageSet
-$$(eval $$(call gb_Module_register_target,$(call gb_ExtensionPackageSet_get_target,$(1)),$(call gb_ExtensionPackageSet_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,ExtensionPackage_$(1),$(call gb_ExtensionPackageSet_get_target,$(1)),$(call gb_ExtensionPackageSet_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),ExtensionPackageSet)
endef
diff --git a/solenv/gbuild/ExternalPackage.mk b/solenv/gbuild/ExternalPackage.mk
index 670106bd95bd..956f6b9b2811 100644
--- a/solenv/gbuild/ExternalPackage.mk
+++ b/solenv/gbuild/ExternalPackage.mk
@@ -45,7 +45,7 @@ $(call gb_ExternalPackage_get_clean_target,%) :
define gb_ExternalPackage_ExternalPackage
$(call gb_ExternalPackage_ExternalPackage_internal,$(1),$(2))
-$$(eval $$(call gb_Module_register_target,$(call gb_ExternalPackage_get_target,$(1)),$(call gb_ExternalPackage_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,ExternalPackage_$(1),$(call gb_ExternalPackage_get_target,$(1)),$(call gb_ExternalPackage_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),ExternalPackage)
endef
diff --git a/solenv/gbuild/ExternalProject.mk b/solenv/gbuild/ExternalProject.mk
index 402437d6f567..aa63ee381317 100644
--- a/solenv/gbuild/ExternalProject.mk
+++ b/solenv/gbuild/ExternalProject.mk
@@ -81,7 +81,7 @@ $(call gb_ExternalProject_get_clean_target,$(1)) : $(call gb_UnpackedTarball_get
$(call gb_ExternalProject_get_target,$(1)) : $(call gb_UnpackedTarball_get_target,$(1))
$(call gb_ExternalProject_get_target,$(1)) :| $(dir $(call gb_ExternalProject_get_target,$(1))).dir
-$$(eval $$(call gb_Module_register_target,$(call gb_ExternalProject_get_target,$(1)),$(call gb_ExternalProject_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,ExternalProject_$(1),$(call gb_ExternalProject_get_target,$(1)),$(call gb_ExternalProject_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),ExternalProject)
endef
diff --git a/solenv/gbuild/Gallery.mk b/solenv/gbuild/Gallery.mk
index 17569a626e6f..a810715540a1 100644
--- a/solenv/gbuild/Gallery.mk
+++ b/solenv/gbuild/Gallery.mk
@@ -146,7 +146,7 @@ $(call gb_Gallery_get_clean_target,$(1)) : $(call gb_Package_get_clean_target,$(
$(call gb_Gallery_get_target,$(1)) :| $(dir $(call gb_Gallery_get_target,$(1))).dir \
$(call gb_Gallery_get_workdir,$(1))/.dir
-$$(eval $$(call gb_Module_register_target,$(call gb_Gallery__get_final_target,$(1)),$(call gb_Gallery_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,Gallery_$(1),$(call gb_Gallery__get_final_target,$(1)),$(call gb_Gallery_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),Gallery,$(call gb_Gallery__get_final_target,$(1)))
endef
diff --git a/solenv/gbuild/GeneratedPackage.mk b/solenv/gbuild/GeneratedPackage.mk
index 05bbcf43a93e..527c3b5bfb91 100644
--- a/solenv/gbuild/GeneratedPackage.mk
+++ b/solenv/gbuild/GeneratedPackage.mk
@@ -61,7 +61,7 @@ $(call gb_GeneratedPackage_get_clean_target,$(1)) : PACKAGE_DIRS :=
$(call gb_GeneratedPackage_get_target,$(1)) : $(gb_Module_CURRENTMAKEFILE)
$(call gb_GeneratedPackage_get_target,$(1)) :| $(dir $(call gb_GeneratedPackage_get_target,$(1))).dir
-$$(eval $$(call gb_Module_register_target,$(call gb_GeneratedPackage_get_target,$(1)),$(call gb_GeneratedPackage_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,GeneratedPackage_$(1),$(call gb_GeneratedPackage_get_target,$(1)),$(call gb_GeneratedPackage_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),GeneratedPackage)
endef
diff --git a/solenv/gbuild/InstallModule.mk b/solenv/gbuild/InstallModule.mk
index 162af86fc2a8..b8093b1df5aa 100644
--- a/solenv/gbuild/InstallModule.mk
+++ b/solenv/gbuild/InstallModule.mk
@@ -29,7 +29,7 @@ $(call gb_InstallModule_get_target,$(1)) : $(call gb_InstallModuleTarget_get_tar
$(call gb_InstallModule_get_target,$(1)) :| $(dir $(call gb_InstallModule_get_target,$(1))).dir
$(call gb_InstallModule_get_clean_target,$(1)) : $(call gb_InstallModuleTarget_get_clean_target,$(1))
-$$(eval $$(call gb_Module_register_target,$(call gb_InstallModule_get_target,$(1)),$(call gb_InstallModule_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,InstallModule_$(1),$(call gb_InstallModule_get_target,$(1)),$(call gb_InstallModule_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),InstallModule)
endef
diff --git a/solenv/gbuild/InstallScript.mk b/solenv/gbuild/InstallScript.mk
index 593bd3e0861b..e227e7105f85 100644
--- a/solenv/gbuild/InstallScript.mk
+++ b/solenv/gbuild/InstallScript.mk
@@ -62,7 +62,7 @@ define gb_InstallScript_InstallScript
$(call gb_InstallScript_get_target,$(1)) :| $(dir $(call gb_InstallScript_get_target,$(1))).dir
$(call gb_InstallScript_get_target,$(1)) : SCP_MODULES :=
-$$(eval $$(call gb_Module_register_target,$(call gb_InstallScript_get_target,$(1)),$(call gb_InstallScript_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,InstallScript_$(1),$(call gb_InstallScript_get_target,$(1)),$(call gb_InstallScript_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),InstallScript)
endef
diff --git a/solenv/gbuild/InternalUnoApi.mk b/solenv/gbuild/InternalUnoApi.mk
index 296c783f35fc..9a7708223394 100644
--- a/solenv/gbuild/InternalUnoApi.mk
+++ b/solenv/gbuild/InternalUnoApi.mk
@@ -31,7 +31,7 @@ $(call gb_InternalUnoApi_get_target,$(1)) : $(call gb_UnoApiTarget_get_target,$(
$(call gb_InternalUnoApi_get_target,$(1)) :| $(dir $(call gb_InternalUnoApi_get_target,$(1))).dir
$(call gb_InternalUnoApi_get_clean_target,$(1)) : $(call gb_UnoApiHeadersTarget_get_clean_target,$(1))
-$$(eval $$(call gb_Module_register_target,$(call gb_InternalUnoApi_get_target,$(1)),$(call gb_InternalUnoApi_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,InternalUnoApi_$(1),$(call gb_InternalUnoApi_get_target,$(1)),$(call gb_InternalUnoApi_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),InternalUnoApi)
endef
diff --git a/solenv/gbuild/Jar.mk b/solenv/gbuild/Jar.mk
index 151fb990a0a6..86dcb45cc9d4 100644
--- a/solenv/gbuild/Jar.mk
+++ b/solenv/gbuild/Jar.mk
@@ -105,7 +105,7 @@ $(call gb_Jar_get_target,$(1)) : PACKAGEFILES :=
$(call gb_Jar_get_target,$(1)) : \
$(call gb_JavaClassSet_get_target,$(call gb_Jar_get_classsetname,$(1)))
$(call gb_JavaClassSet_JavaClassSet,$(call gb_Jar_get_classsetname,$(1)))
-$(eval $(call gb_Module_register_target,$(call gb_Jar_get_target,$(1)),$(call gb_Jar_get_clean_target,$(1))))
+$(eval $(call gb_Module_register_target,Jar_$(1),$(call gb_Jar_get_target,$(1)),$(call gb_Jar_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),Jar,$(call gb_Jar_get_target,$(1)))
# installed jars need a rule to build!
diff --git a/solenv/gbuild/JunitTest.mk b/solenv/gbuild/JunitTest.mk
index 5a584e06895b..2102d196d58c 100644
--- a/solenv/gbuild/JunitTest.mk
+++ b/solenv/gbuild/JunitTest.mk
@@ -67,7 +67,7 @@ $(call gb_JavaClassSet_JavaClassSet,$(call gb_JunitTest_get_classsetname,$(1)))
$(call gb_JavaClassSet_use_system_jar,$(call gb_JunitTest_get_classsetname,$(1)),$(OOO_JUNIT_JAR))
$(if $(HAMCREST_JAR),$(call gb_JavaClassSet_use_system_jar,$(call gb_JunitTest_get_classsetname,$(1)),$(HAMCREST_JAR)))
$(call gb_JunitTest_get_target,$(1)) : $(call gb_JavaClassSet_get_target,$(call gb_JunitTest_get_classsetname,$(1)))
-$(eval $(call gb_Module_register_target,$(call gb_JunitTest_get_target,$(1)),$(call gb_JunitTest_get_clean_target,$(1))))
+$(eval $(call gb_Module_register_target,JunitTest_$(1),$(call gb_JunitTest_get_target,$(1)),$(call gb_JunitTest_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),JunitTest)
endef
@@ -204,7 +204,7 @@ endif
@true
define gb_JunitTest_JunitTest
-$(eval $(call gb_Module_register_target,$(call gb_JunitTest_get_target,$(1)),$(call gb_JunitTest_get_clean_target,$(1))))
+$(eval $(call gb_Module_register_target,JunitTest_$(1),$(call gb_JunitTest_get_target,$(1)),$(call gb_JunitTest_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),JunitTest)
endef
diff --git a/solenv/gbuild/Library.mk b/solenv/gbuild/Library.mk
index 0b8903cc80e6..ecaf8186d81c 100644
--- a/solenv/gbuild/Library.mk
+++ b/solenv/gbuild/Library.mk
@@ -91,7 +91,7 @@ $(call gb_Library_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_target
$(call gb_Library_get_clean_target,$(1)) : AUXTARGETS :=
$(call gb_Library_Library_platform,$(1),$(2),$(call gb_Library_get_ilib_target,$(1)))
-$$(eval $$(call gb_Module_register_target,$(call gb_Library_get_exports_target,$(1)),$(call gb_Library_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,Library_$(1),$(call gb_Library_get_exports_target,$(1)),$(call gb_Library_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),Library,$(call gb_Library_get_exports_target,$(1)))
diff --git a/solenv/gbuild/Module.mk b/solenv/gbuild/Module.mk
index aa3b1cb19485..4e00a03bdde5 100644
--- a/solenv/gbuild/Module.mk
+++ b/solenv/gbuild/Module.mk
@@ -258,6 +258,7 @@ gb_Module_PERFCHECKTARGETSTACK := $(call gb_Module_get_perfcheck_target,$(1)) $(
gb_Module_CLEANTARGETSTACK := $(call gb_Module_get_clean_target,$(1)) $(gb_Module_CLEANTARGETSTACK)
gb_Module_CURRENTMODULE_SYMBOLS_ENABLED := $(call gb_Module__symbols_enabled,$(1))
gb_Module_CURRENTMODULE_NAME := $(1)
+gb_Module_$(1)_CLASSNAMES :=
$(call gb_Helper_make_userfriendly_targets,$(1),Module)
$(if $(filter-out libreoffice instsetoo_native android ios,$(1)),\
$(call gb_Postprocess_register_target,AllModulesButInstsetNative,Module,$(1)))
@@ -274,13 +275,15 @@ endef
# should never be inlined ($(call )) as the calls defining it might be sourced
# before gb_Module.
define gb_Module_register_target
-gb_Module_CURRENTTARGET := $(1)
-gb_Module_CURRENTCLEANTARGET := $(2)
+gb_Module_CURRENTCLASSNAME := $(1)
+gb_Module_CURRENTTARGET := $(2)
+gb_Module_CURRENTCLEANTARGET := $(3)
endef
# Here we include the file (in it there will be a call to gb_Module_register_target)
define gb_Module__read_targetfile
+gb_Module_CURRENTCLASSNAME :=
gb_Module_CURRENTTARGET :=
gb_Module_CURRENTCLEANTARGET :=
gb_Module_CURRENTMAKEFILE := $(patsubst $(1):%,%,$(filter $(1):%,$(gb_Module_MODULELOCATIONS)))$(2).mk
@@ -296,11 +299,14 @@ define gb_Module_add_target
$(if $(filter AllLang% Dictionary% Package_registry,$(2)),$(warning target $(2) should be a l10n target))
$(call gb_Module__read_targetfile,$(1),$(2),target)
+gb_Module_$(1)_CLASSNAMES += $$(gb_Module_CURRENTCLASSNAME)
$(call gb_Module_get_nonl10n_target,$(1)) : $$(gb_Module_CURRENTTARGET)
$(call gb_Module_get_clean_target,$(1)) : $$(gb_Module_CURRENTCLEANTARGET)
endef
+gb_Module_get_classnames = $(gb_Module_$(1)_CLASSNAMES)
+
define gb_Module_add_l10n_target
$(if $(filter AllLang% CustomTarget_autotextshare Dictionary% Package_registry,$(2)),,$(warning target $(2) should not be a l10n target))
$(call gb_Module__read_targetfile,$(1),$(2),target)
@@ -383,11 +389,12 @@ $(call gb_Module_get_clean_target,$(1)) : $$(gb_Module_CURRENTCLEANTARGET)
endef
define gb_Module__modulefile
-$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Module_MODULELOCATIONS)))/$(2)/Module_$(2).mk
+$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Module_MODULELOCATIONS)))$(2)/Module_$(notdir $(2)).mk
endef
define gb_Module_add_moduledir
$(if $(wildcard $(call gb_Module__modulefile,$(1),$(2))),,$(call gb_Output_error,Module does not exist: $(call gb_Module__modulefile,$(1),$(2))))
+ifeq (,$(filter $(call gb_Module__modulefile,$(1),$(2)),$(MAKEFILE_LIST)))
include $(call gb_Module__modulefile,$(1),$(2))
$(call gb_Module_get_target,$(1)) : $$(firstword $$(gb_Module_TARGETSTACK))
$(call gb_Module_get_l10n_target,$(1)) : $$(firstword $$(gb_Module_L10NTARGETSTACK))
@@ -409,6 +416,7 @@ gb_Module_STAGINGCHECKTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_STAGING
gb_Module_PERFCHECKTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_PERFCHECKTARGETSTACK)),$$(gb_Module_PERFCHECKTARGETSTACK))
gb_Module_UICHECKTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_UICHECKTARGETSTACK)),$$(gb_Module_UICHECKTARGETSTACK))
gb_Module_CLEANTARGETSTACK := $$(wordlist 2,$$(words $$(gb_Module_CLEANTARGETSTACK)),$$(gb_Module_CLEANTARGETSTACK))
+endif
endef
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.
diff --git a/solenv/gbuild/PackageSet.mk b/solenv/gbuild/PackageSet.mk
index 8ba3273f459b..354bc9f61693 100644
--- a/solenv/gbuild/PackageSet.mk
+++ b/solenv/gbuild/PackageSet.mk
@@ -36,7 +36,7 @@ $(call gb_PackageSet_get_clean_target,%) :
define gb_PackageSet_PackageSet
$(call gb_PackageSet_PackageSet_internal,$(1))
-$$(eval $$(call gb_Module_register_target,$(call gb_PackageSet_get_target,$(1)),$(call gb_PackageSet_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,PackageSet_$(1),$(call gb_PackageSet_get_target,$(1)),$(call gb_PackageSet_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),PackageSet)
endef
diff --git a/solenv/gbuild/Pagein.mk b/solenv/gbuild/Pagein.mk
index 1dd5cd692efd..ec504d0a4609 100644
--- a/solenv/gbuild/Pagein.mk
+++ b/solenv/gbuild/Pagein.mk
@@ -37,7 +37,7 @@ $(call gb_Pagein_get_target,%) :
define gb_Pagein_Pagein
$(call gb_Pagein_get_target,$(1)) : OBJECTS :=
$(call gb_Pagein_get_target,$(1)) : $(gb_Module_CURRENTMAKEFILE)
-$$(eval $$(call gb_Module_register_target,$(call gb_Pagein__get_install_target,$(1)),$(call gb_Pagein_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,Pagein_$(1),$(call gb_Pagein__get_install_target,$(1)),$(call gb_Pagein_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),Pagein,$(call gb_Pagein_get_target,$(1)))
$(call gb_Helper_install_final, \
diff --git a/solenv/gbuild/PythonTest.mk b/solenv/gbuild/PythonTest.mk
index 07bbf7f397d8..16bc7d2404a7 100644
--- a/solenv/gbuild/PythonTest.mk
+++ b/solenv/gbuild/PythonTest.mk
@@ -72,7 +72,7 @@ define gb_PythonTest_PythonTest
$(call gb_PythonTest_get_target,$(1)) : PYPATH := $(SRCDIR)/unotest/source/python$$(gb_CLASSPATHSEP)$(INSTROOT)/$(LIBO_LIB_PYUNO_FOLDER)$(if $(filter-out $(LIBO_LIB_PYUNO_FOLDER),$(LIBO_LIB_FOLDER)),$(gb_CLASSPATHSEP)$(INSTROOT)/$(LIBO_LIB_FOLDER))
$(call gb_PythonTest_get_target,$(1)) : MODULES :=
-$(eval $(call gb_Module_register_target,$(call gb_PythonTest_get_target,$(1)),$(call gb_PythonTest_get_clean_target,$(1))))
+$(eval $(call gb_Module_register_target,PythonTest_$(1),$(call gb_PythonTest_get_target,$(1)),$(call gb_PythonTest_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),PythonTest)
endef
@@ -99,6 +99,7 @@ $(call gb_PythonTest_get_target,$(1)) : $(call gb_CustomTarget_get_workdir,$(2))
endef
+gb_PythonTest_use_more_fonts = $(call gb_TestHelpers_use_more_fonts,$(call gb_PythonTest_get_target,$(1)))
else # DISABLE_PYTHON
@@ -110,7 +111,7 @@ endif
@true
define gb_PythonTest_PythonTest
-$(eval $(call gb_Module_register_target,$(call gb_PythonTest_get_target,$(1)),$(call gb_PythonTest_get_clean_target,$(1))))
+$(eval $(call gb_Module_register_target,PythonTest_$(1),$(call gb_PythonTest_get_target,$(1)),$(call gb_PythonTest_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),PythonTest)
endef
diff --git a/solenv/gbuild/Pyuno.mk b/solenv/gbuild/Pyuno.mk
index b9ccb49a3e2e..3c08806e04ca 100644
--- a/solenv/gbuild/Pyuno.mk
+++ b/solenv/gbuild/Pyuno.mk
@@ -42,7 +42,7 @@ $(call gb_Pyuno_get_target,$(1)) : $(call gb_Package_get_target,$(call gb_Pyuno_
$(call gb_Pyuno_get_target,$(1)) :| $(dir $(call gb_Pyuno_get_target,$(1))).dir
$(call gb_Pyuno_get_clean_target,$(1)) : $(call gb_Package_get_clean_target,$(call gb_Pyuno_get_packagename,$(1)))
-$$(eval $$(call gb_Module_register_target,$(call gb_Pyuno_get_final_target,$(1)),$(call gb_Pyuno_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,Pyuno_$(1),$(call gb_Pyuno_get_final_target,$(1)),$(call gb_Pyuno_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),Pyuno,$(call gb_Pyuno_get_final_target,$(1)))
endef
diff --git a/solenv/gbuild/Rdb.mk b/solenv/gbuild/Rdb.mk
index 4e5f57810e82..6ed6a72b639f 100644
--- a/solenv/gbuild/Rdb.mk
+++ b/solenv/gbuild/Rdb.mk
@@ -35,7 +35,7 @@ $(call gb_Rdb_get_clean_target,%) :
define gb_Rdb__Rdb_impl
$(call gb_Rdb_get_target,$(1)) : COMPONENTS :=
$(call gb_Rdb_get_target,$(1)) : $(gb_Module_CURRENTMAKEFILE)
-$$(eval $$(call gb_Module_register_target,$(2),$(call gb_Rdb_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,Rdb_$(1),$(2),$(call gb_Rdb_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),Rdb,$(2))
endef
diff --git a/solenv/gbuild/StaticLibrary.mk b/solenv/gbuild/StaticLibrary.mk
index f3b945fd6b36..da6fe4d00fde 100644
--- a/solenv/gbuild/StaticLibrary.mk
+++ b/solenv/gbuild/StaticLibrary.mk
@@ -45,7 +45,7 @@ $(call gb_LinkTarget_set_targettype,$(2),StaticLibrary)
$(call gb_StaticLibrary_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_target,$(2))
$(call gb_StaticLibrary_get_clean_target,$(1)) : AUXTARGETS :=
$(call gb_StaticLibrary_StaticLibrary_platform,$(1),$(2))
-$$(eval $$(call gb_Module_register_target,$(call gb_StaticLibrary_get_target,$(1)),$(call gb_StaticLibrary_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,StaticLibrary_$(1),$(call gb_StaticLibrary_get_target,$(1)),$(call gb_StaticLibrary_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),StaticLibrary)
endef
diff --git a/solenv/gbuild/TestHelpers.mk b/solenv/gbuild/TestHelpers.mk
new file mode 100644
index 000000000000..d2628a09b6c8
--- /dev/null
+++ b/solenv/gbuild/TestHelpers.mk
@@ -0,0 +1,45 @@
+# -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+# This makes sure that more_fonts, opensymbol and fontconfig is installed
+define gb_TestHelpers_use_more_fonts
+
+ifneq (,$$(filter MORE_FONTS,$$(BUILD_TYPE)))
+ifeq (,$$(filter more_fonts,$$(gb_Module_ALLMODULES)))
+
+# the gbuildtojson / gbuild self-test runs tests "out of scope", but itself depends
+# on more fonts, so we must ignore the font tests for these tests.
+ifeq (,$$(gb_IGNORE_MORE_FONTS))
+
+# we are in single module mode -> fail test on missing fonts from filelists!
+# include Module_more_font.mk fails with strange error messages,
+# so we can't check if the more_fonts filelists are up-to-date, so just assume it.
+
+$(1): \
+ $$(foreach font,$$(gb_Package_MODULE_ooo_fonts), \
+ $$(if $$(wildcard $$(call gb_Package_get_target,$$(font))), \
+ $$(foreach file,$$(shell cat $$(call gb_Package_get_target,$$(font))), \
+ $$(if $$(wildcard $$(file)),,$$(error Missing font -> run make more_fonts extras))), \
+ $$(error Missing font filelist -> run make more_fonts extras)))
+endif
+else
+# we're in global run mode (full knowledge) -> depend directly on the delivered fonts!
+
+$(1): \
+ $$(foreach package,$$(subst ExternalPackage_,,$$(filter ExternalPackage_%,$$(call gb_Module_get_classnames,more_fonts))), \
+ $$(call gb_Package_get_files,$$(package))) \
+ $$(call gb_Package_get_files,extras_font) \
+ $$(if $$(filter Package_extras_fontconfig,$$(call gb_Module_get_classnames,extras)), \
+ $$(call gb_Package_get_files,extras_fontconfig))
+endif
+endif
+
+endef
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/UIConfig.mk b/solenv/gbuild/UIConfig.mk
index e7fa50a745b0..82965a080fca 100644
--- a/solenv/gbuild/UIConfig.mk
+++ b/solenv/gbuild/UIConfig.mk
@@ -180,7 +180,7 @@ $(call gb_UIConfig_get_a11yerrors_target,$(1)) : UI_A11YFALSE := $(SRCDIR)/solen
$(call gb_UIConfig_get_target,$(1)) : $(call gb_PackageSet_get_target,$(call gb_UIConfig_get_packagesetname,$(1)))
$(call gb_UIConfig_get_clean_target,$(1)) : $(call gb_PackageSet_get_clean_target,$(call gb_UIConfig_get_packagesetname,$(1)))
-$$(eval $$(call gb_Module_register_target,$(call gb_UIConfig_get_target,$(1)),$(call gb_UIConfig_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,UIConfig_$(1),$(call gb_UIConfig_get_target,$(1)),$(call gb_UIConfig_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),UIConfig)
$(call gb_Postprocess_register_target,AllUIConfigs,UIConfig,$(1))
diff --git a/solenv/gbuild/UITest.mk b/solenv/gbuild/UITest.mk
index 2e5110412883..f7444a361728 100644
--- a/solenv/gbuild/UITest.mk
+++ b/solenv/gbuild/UITest.mk
@@ -95,7 +95,7 @@ define gb_UITest_UITest
$(call gb_UITest_get_target,$(1)) : PYPATH := $(SRCDIR)/uitest$$(gb_CLASSPATHSEP)$(SRCDIR)/unotest/source/python$$(gb_CLASSPATHSEP)$(INSTROOT)/$(LIBO_LIB_PYUNO_FOLDER)$(if $(filter-out $(LIBO_LIB_PYUNO_FOLDER),$(LIBO_LIB_FOLDER)),$(gb_CLASSPATHSEP)$(INSTROOT)/$(LIBO_LIB_FOLDER))
$(call gb_UITest_get_target,$(1)) : MODULES :=
-$(eval $(call gb_Module_register_target,$(call gb_UITest_get_target,$(1)),$(call gb_UITest_get_clean_target,$(1))))
+$(eval $(call gb_Module_register_target,UITest_$(1),$(call gb_UITest_get_target,$(1)),$(call gb_UITest_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),UITest)
endef
@@ -137,7 +137,7 @@ endif
@true
define gb_UITest_UITest
-$(eval $(call gb_Module_register_target,$(call gb_UITest_get_target,$(1)),$(call gb_UITest_get_clean_target,$(1))))
+$(eval $(call gb_Module_register_target,UITest_$(1),$(call gb_UITest_get_target,$(1)),$(call gb_UITest_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),UITest)
endef
diff --git a/solenv/gbuild/UnoApi.mk b/solenv/gbuild/UnoApi.mk
index d99195d2138c..5223b22ddc5f 100644
--- a/solenv/gbuild/UnoApi.mk
+++ b/solenv/gbuild/UnoApi.mk
@@ -31,7 +31,7 @@ $(call gb_UnoApi_get_clean_target,$(1)) : $(call gb_UnoApiHeadersTarget_get_clea
$(call gb_Deliver_add_deliverable,$(call gb_UnoApi_get_target,$(1)),$(call gb_UnoApiTarget_get_target,$(1)),$(1))
-$$(eval $$(call gb_Module_register_target,$(call gb_UnoApi_get_target,$(1)),$(call gb_UnoApi_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,UnoApi_$(1),$(call gb_UnoApi_get_target,$(1)),$(call gb_UnoApi_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),UnoApi)
endef
diff --git a/solenv/gbuild/UnpackedTarball.mk b/solenv/gbuild/UnpackedTarball.mk
index 37913c8c7369..185f61d22777 100644
--- a/solenv/gbuild/UnpackedTarball.mk
+++ b/solenv/gbuild/UnpackedTarball.mk
@@ -212,7 +212,7 @@ endef
define gb_UnpackedTarball_UnpackedTarball
$(call gb_UnpackedTarball_UnpackedTarball_internal,$(1))
-$$(eval $$(call gb_Module_register_target,$(call gb_UnpackedTarball_get_final_target,$(1)),$(call gb_UnpackedTarball_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,UnpackedTarball_$(1),$(call gb_UnpackedTarball_get_final_target,$(1)),$(call gb_UnpackedTarball_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),UnpackedTarball,$(call gb_UnpackedTarball_get_final_target,$(1)))
endef
diff --git a/solenv/gbuild/WinResTarget.mk b/solenv/gbuild/WinResTarget.mk
index c110491722c3..ba00ea6c3109 100644
--- a/solenv/gbuild/WinResTarget.mk
+++ b/solenv/gbuild/WinResTarget.mk
@@ -23,7 +23,7 @@ gb_WinResTarget_DEFAULTDEFS := $(gb_RCDEFS)
define gb_WinResTarget_WinResTarget
$(call gb_WinResTarget_WinResTarget_init,$(1))
-$$(eval $$(call gb_Module_register_target,$(call gb_WinResTarget_get_target,$(1)),$(call gb_WinResTarget_get_clean_target,$(1))))
+$$(eval $$(call gb_Module_register_target,WinResTarget_$(1),$(call gb_WinResTarget_get_target,$(1)),$(call gb_WinResTarget_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),WinResTarget)
endef
diff --git a/solenv/gbuild/Zip.mk b/solenv/gbuild/Zip.mk
index b8f76d98f321..c026e71a41d6 100644
--- a/solenv/gbuild/Zip.mk
+++ b/solenv/gbuild/Zip.mk
@@ -91,7 +91,7 @@ define gb_Zip_Zip
$(call gb_Zip_Zip_internal,$(1),$(2))
$(call gb_Zip_get_target,$(1)) : $(gb_Module_CURRENTMAKEFILE)
-$(eval $(call gb_Module_register_target,$(call gb_Zip_get_target,$(1)),$(call gb_Zip_get_clean_target,$(1))))
+$(eval $(call gb_Module_register_target,Zip_$(1),$(call gb_Zip_get_target,$(1)),$(call gb_Zip_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),Zip,$(call gb_Zip_get_target,$(1)))
endef
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 889041172000..0a93e83f6ce3 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -173,6 +173,7 @@ endif
include $(GBUILDDIR)/ExternalExecutable.mk
include $(GBUILDDIR)/TargetLocations.mk
include $(GBUILDDIR)/Tempfile.mk
+include $(GBUILDDIR)/TestHelpers.mk
$(eval $(call gb_Helper_init_registries))
include $(SRCDIR)/Repository.mk
diff --git a/solenv/qa/python/gbuildtojson.py b/solenv/qa/python/gbuildtojson.py
index 6d93b6ff2369..8852dea3162f 100644
--- a/solenv/qa/python/gbuildtojson.py
+++ b/solenv/qa/python/gbuildtojson.py
@@ -39,6 +39,7 @@ class CheckGbuildToJson(unittest.TestCase):
def setUp(self):
getgbuildtesttools(self)
clearmakevars()
+ os.environ["gb_IGNORE_MORE_FONTS"] = "1"
self.tempwork = tempfile.mkdtemp(prefix='gbuild')
def tearDown(self):