diff options
author | Michael Stahl <mstahl@redhat.com> | 2012-08-09 13:08:17 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2012-08-09 13:11:36 +0200 |
commit | 6292b12acfdddd51a816fad3b3ea8073a58eb3c2 (patch) | |
tree | f47c9a9c640dd82b6a251e49ef6f3847148c5631 | |
parent | 97febaa3e2130b92a2eadfc20688b2a37b194f45 (diff) |
gbuild: add a kludge to get dictionaries to build in cygwin:
Due to the scourge of symlinked git repositories, building the
configuration files in dictionaries fails on cygwin because the native
xsltproc cannot understand cygwin symlinks; work around that with a
new gb_Helper_symlinked_native function.
Should be reverted once git sub modules liberate us from the scourge.
Change-Id: Idc48da9b60348dc66160219909479c3c83daeaf2
-rw-r--r-- | solenv/gbuild/Configuration.mk | 10 | ||||
-rw-r--r-- | solenv/gbuild/platform/WNT_INTEL_MSC.mk | 6 | ||||
-rw-r--r-- | solenv/gbuild/platform/com_GCC_defs.mk | 2 |
3 files changed, 13 insertions, 5 deletions
diff --git a/solenv/gbuild/Configuration.mk b/solenv/gbuild/Configuration.mk index 53a11e1b7379..61254cea46bc 100644 --- a/solenv/gbuild/Configuration.mk +++ b/solenv/gbuild/Configuration.mk @@ -93,7 +93,7 @@ endef $(call gb_XcsTarget_get_target,%) : \ $(gb_XcsTarget_XSLT_SchemaVal) $(gb_XcsTarget_XSLT_Sanity) \ $(gb_XcsTarget_XSLT_SchemaTrim) $(gb_XcsTarget_DTD_Schema) - $(call gb_XcsTarget__command,$@,$*,$(filter %.xcs,$^)) + $(call gb_XcsTarget__command,$@,$*,$(call gb_Helper_symlinked_native,$(filter %.xcs,$^))) $(call gb_XcsTarget_get_clean_target,%) : $(call gb_Output_announce,$*,$(false),XCS,1) @@ -140,7 +140,7 @@ endef $(call gb_XcuDataTarget_get_target,%) : $(gb_XcuDataTarget_XSLT_DataVal) \ $(gb_XcuTarget_XSLT_AllLang) $(gb_XcuDataTarget_DTD_ComponentUpdate) - $(call gb_XcuDataTarget__command,$@,$*,$(filter %.xcu,$^)) + $(call gb_XcuDataTarget__command,$@,$*,$(call gb_Helper_symlinked_native,$(filter %.xcu,$^))) $(call gb_XcuDataTarget_get_clean_target,%) : $(call gb_Output_announce,$*,$(false),XCU,2) @@ -183,7 +183,7 @@ $(call gb_Helper_abbreviate_dirs,\ endef $(call gb_XcuModuleTarget_get_target,%) : $(gb_XcuTarget_XSLT_AllLang) - $(call gb_XcuModuleTarget__command,$@,$*,$(filter %.xcu,$^),$(filter %.xcs,$^)) + $(call gb_XcuModuleTarget__command,$@,$*,$(call gb_Helper_symlinked_native,$(filter %.xcu,$^)),$(filter %.xcs,$^)) $(call gb_XcuModuleTarget_get_clean_target,%) : $(call gb_Output_announce,$*,$(false),XCU,3) @@ -253,7 +253,7 @@ $(call gb_Helper_abbreviate_dirs,\ mkdir -p $(dir $(1)) && \ $(gb_XcuMergeTarget_CFGEXCOMMAND) \ -p $(firstword $(subst /, ,$(2))) \ - -i $(3) \ + -i $(call gb_Helper_symlinked_native,$(3)) \ -o $(1) \ -m $(SDF) \ -l all) @@ -295,7 +295,7 @@ $(call gb_Helper_abbreviate_dirs,\ endef $(call gb_XcuResTarget_get_target,%) : $(gb_XcuTarget_XSLT_AllLang) - $(call gb_XcuResTarget__command,$@,$*,$(filter %.xcu,$^)) + $(call gb_XcuResTarget__command,$@,$*,$(call gb_Helper_symlinked_native,$(filter %.xcu,$^))) $(call gb_XcuResTarget_get_clean_target,%) : $(call gb_Output_announce,$*,$(false),XCU,6) diff --git a/solenv/gbuild/platform/WNT_INTEL_MSC.mk b/solenv/gbuild/platform/WNT_INTEL_MSC.mk index 0c0c98fd64c5..7b64e2b0949e 100644 --- a/solenv/gbuild/platform/WNT_INTEL_MSC.mk +++ b/solenv/gbuild/platform/WNT_INTEL_MSC.mk @@ -248,6 +248,12 @@ define gb_Helper_make_url file:///$(strip $(1)) endef +# for source files in non-core repositories, the cygwin symlink is not +# understood by native tools, so find the real path to the file +define gb_Helper_symlinked_native +$(shell cygpath -m $(realpath $(1))) +endef + # YaccTarget class define gb_YaccTarget__command diff --git a/solenv/gbuild/platform/com_GCC_defs.mk b/solenv/gbuild/platform/com_GCC_defs.mk index 60ae0c355f31..39fa02b844ee 100644 --- a/solenv/gbuild/platform/com_GCC_defs.mk +++ b/solenv/gbuild/platform/com_GCC_defs.mk @@ -158,6 +158,8 @@ define gb_Helper_make_url file://$(strip $(1)) endef +gb_Helper_symlinked_native = $(1) + gb_Helper_OUTDIRLIBDIR := $(OUTDIR)/lib gb_Helper_OUTDIR_FOR_BUILDLIBDIR := $(OUTDIR_FOR_BUILD)/lib |