diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2014-10-24 13:20:43 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2014-10-24 13:28:07 +0200 |
commit | 04bc75a9b1d5e14c5ec863fd6d0c70d02d5d9da5 (patch) | |
tree | 941c5b8b1de7b00abdae1f273f7d59081608add8 | |
parent | 86bef9224e0f10bfc81bc87c0302d9cee0d33dd6 (diff) |
Beware gb_CppunitTest_use_library_files plus gb_CppunitTest_use_component
...it causes the library's objects to be loaded twice, causing potential trouble
with static data. So introduce gb_Cppunit_set_componentfile, processing the
library's source component file into an additional workdir/CppuntiTest/
component file referencing the test library. (This required to drop the
gb_Helper_abbreviate_dirs bric-a-brac, as it would do $W replacement into file
URLs contained in the resulting .component file.)
Change-Id: I57847e549817d25cca53a13effd7d408e0c99f9a
-rw-r--r-- | configmgr/CppunitTest_configmgr_unit.mk | 3 | ||||
-rw-r--r-- | solenv/gbuild/ComponentTarget.mk | 5 | ||||
-rw-r--r-- | solenv/gbuild/CppunitTest.mk | 12 | ||||
-rw-r--r-- | svgio/CppunitTest_svgio.mk | 3 |
4 files changed, 18 insertions, 5 deletions
diff --git a/configmgr/CppunitTest_configmgr_unit.mk b/configmgr/CppunitTest_configmgr_unit.mk index 18e40f204860..1672c9f42556 100644 --- a/configmgr/CppunitTest_configmgr_unit.mk +++ b/configmgr/CppunitTest_configmgr_unit.mk @@ -15,6 +15,8 @@ $(eval $(call gb_CppunitTest_add_exception_objects,configmgr_unit, \ configmgr/qa/unit/test \ )) +$(eval $(call gb_CppunitTest_set_componentfile,configmgr_unit,configmgr/source/configmgr)) + $(eval $(call gb_CppunitTest_use_library_objects,configmgr_unit,configmgr)) $(eval $(call gb_CppunitTest_use_sdk_api,configmgr_unit,)) @@ -37,7 +39,6 @@ $(eval $(call gb_CppunitTest_use_ure,configmgr_unit)) $(eval $(call gb_CppunitTest_use_configuration,configmgr_unit)) $(eval $(call gb_CppunitTest_use_components,configmgr_unit,\ - configmgr/source/configmgr \ i18npool/util/i18npool \ i18npool/source/search/i18nsearch \ sax/source/expatwrap/expwrap \ diff --git a/solenv/gbuild/ComponentTarget.mk b/solenv/gbuild/ComponentTarget.mk index 5395a4addc8f..225b198ed444 100644 --- a/solenv/gbuild/ComponentTarget.mk +++ b/solenv/gbuild/ComponentTarget.mk @@ -28,12 +28,11 @@ gb_ComponentTarget_get_source = $(SRCDIR)/$(1).component define gb_ComponentTarget__command $(call gb_Output_announce,$(3),$(true),CMP,1) $(if $(LIBFILENAME),,$(call gb_Output_error,No LIBFILENAME set at component target: $(1))) -$(call gb_Helper_abbreviate_dirs,\ mkdir -p $(dir $(1)) && \ $(call gb_ExternalExecutable_get_command,xsltproc) --nonet \ --stringparam uri '$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,$(subst \d,$$,$(COMPONENTPREFIX)))$(LIBFILENAME)' \ --stringparam cppu_env $(gb_CPPU_ENV) -o $(1) \ - $(gb_ComponentTarget_XSLTCOMMANDFILE) $(2)) + $(gb_ComponentTarget_XSLTCOMMANDFILE) $(2) endef @@ -44,7 +43,7 @@ $(call gb_ComponentTarget_get_clean_target,%) : # when a library is renamed, the component file needs to be rebuilt to match. # hence simply depend on Repository{,Fixes}.mk since the command runs quickly. -$(call gb_ComponentTarget_get_target,%) : \ +$(call gb_ComponentTarget_get_target,%) $(call gb_ComponentTarget_get_target,CppunitTest/%) : \ $(call gb_ComponentTarget_get_source,%) \ $(SRCDIR)/Repository.mk \ $(SRCDIR)/RepositoryFixes.mk \ diff --git a/solenv/gbuild/CppunitTest.mk b/solenv/gbuild/CppunitTest.mk index 3c5f11c975da..aa259e35797b 100644 --- a/solenv/gbuild/CppunitTest.mk +++ b/solenv/gbuild/CppunitTest.mk @@ -242,6 +242,18 @@ $(call gb_CppunitTest_get_target,$(1)) : \ endef +define gb_CppunitTest_set_componentfile +$(call gb_ComponentTarget_ComponentTarget,CppunitTest/$(2),\ + $(call gb_Helper_make_url,$(gb_CppunitTest_DLLDIR))/,\ + $(call gb_CppunitTest_get_filename,$(1))) +$(call gb_CppunitTest_get_target,$(1)) : \ + $(call gb_ComponentTarget_get_target,CppunitTest/$(2)) +$(call gb_CppunitTest_get_clean_target,$(1)) : \ + $(call gb_ComponentTarget_get_clean_target,CppunitTest/$(2)) +$(call gb_CppunitTest_use_component,$(1),CppunitTest/$(2)) + +endef + # Given a list of component files, filter out those corresponding # to libraries not built in this configuration. define gb_CppunitTest__filter_not_built_components diff --git a/svgio/CppunitTest_svgio.mk b/svgio/CppunitTest_svgio.mk index 2aa4f39b61c4..939842d4157f 100644 --- a/svgio/CppunitTest_svgio.mk +++ b/svgio/CppunitTest_svgio.mk @@ -9,6 +9,8 @@ $(eval $(call gb_CppunitTest_CppunitTest,svgio_import_test)) +$(eval $(call gb_CppunitTest_set_componentfile,svgio_import_test,svgio/svgio)) + $(eval $(call gb_CppunitTest_set_include,svgio_import_test,\ $$(INCLUDE) \ -I$(SRCDIR)/svgio/inc \ @@ -63,7 +65,6 @@ $(eval $(call gb_CppunitTest_use_components,svgio_import_test,\ ucb/source/core/ucb1 \ ucb/source/ucp/file/ucpfile1 \ unotools/util/utl \ - svgio/svgio \ sax/source/expatwrap/expwrap \ )) |