[Libreoffice-commits] core.git: configmgr/CppunitTest_configmgr_unit.mk solenv/gbuild svgio/CppunitTest_svgio.mk
Stephan Bergmann
sbergman at redhat.com
Fri Oct 24 04:28:45 PDT 2014
configmgr/CppunitTest_configmgr_unit.mk | 3 ++-
solenv/gbuild/ComponentTarget.mk | 5 ++---
solenv/gbuild/CppunitTest.mk | 12 ++++++++++++
svgio/CppunitTest_svgio.mk | 3 ++-
4 files changed, 18 insertions(+), 5 deletions(-)
New commits:
commit 04bc75a9b1d5e14c5ec863fd6d0c70d02d5d9da5
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Fri Oct 24 13:20:43 2014 +0200
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
diff --git a/configmgr/CppunitTest_configmgr_unit.mk b/configmgr/CppunitTest_configmgr_unit.mk
index 18e40f2..1672c9f 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 5395a4a..225b198 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 3c5f11c..aa259e3 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 2aa4f39..939842d 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 \
))
More information about the Libreoffice-commits
mailing list