[Libreoffice-commits] .: solenv/gbuild

Michael Stahl mst at kemper.freedesktop.org
Thu Aug 9 04:25:32 PDT 2012


 solenv/gbuild/Configuration.mk          |   10 +++++-----
 solenv/gbuild/platform/WNT_INTEL_MSC.mk |    6 ++++++
 solenv/gbuild/platform/com_GCC_defs.mk  |    2 ++
 3 files changed, 13 insertions(+), 5 deletions(-)

New commits:
commit 6292b12acfdddd51a816fad3b3ea8073a58eb3c2
Author: Michael Stahl <mstahl at redhat.com>
Date:   Thu Aug 9 13:08:17 2012 +0200

    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

diff --git a/solenv/gbuild/Configuration.mk b/solenv/gbuild/Configuration.mk
index 53a11e1..61254ce 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 0c0c98f..7b64e2b 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 60ae0c3..39fa02b 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
 


More information about the Libreoffice-commits mailing list