Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


On Thu, 2012-04-12 at 12:57 +0200, Michael Stahl wrote:
rumor has it that putting the source in Cygwin home has never ever
worked, but i have no idea why.

The conversion from unix-style /cygdrive/c/paths to /c/paths when
handing the paths to native tools does a simple search and replace. Any
cygwin paths which don't conform to /cygdrive/X are all horribly mangled
by the to and from process, so /home and /tmp don't work :-(

I burned some time trying to make it work, but higher priority stuff
scuppered me. Here's a diff of some hacking I was playing with to try
and work through it.

C.
diff --git a/configure.in b/configure.in
index eef6de4..1e0ec69 100644
--- a/configure.in
+++ b/configure.in
@@ -36,7 +36,7 @@ PathFormat()
             if test "$fp_count_colon" = "0" ; then
                 formatted_path=`realpath "$formatted_path"`
             fi
-            formatted_path=`cygpath -m "$formatted_path"`
+            formatted_path=`cygpath -m "$formatted_path" | $AWK -- '{ print 
tolower(substr($$0,1,1)) substr($$0,2) }'`
         fi
     fi
 }
@@ -62,6 +62,12 @@ else
 fi
 AC_SUBST(CROSS_COMPILING)
 
+AC_PROG_AWK
+AC_PATH_PROG( AWK, $AWK)
+if test -z "$AWK"; then
+    AC_MSG_ERROR([install awk to run this script])
+fi
+
 if test "$build_os" = "cygwin"; then
     EXEEXT_FOR_BUILD=.exe
     SRC_ROOT=`pwd`
@@ -1995,12 +2001,6 @@ pathmunge ()
     fi
 }
 
-AC_PROG_AWK
-AC_PATH_PROG( AWK, $AWK)
-if test -z "$AWK"; then
-    AC_MSG_ERROR([install awk to run this script])
-fi
-
 AC_PATH_PROG(BASH, bash)
 if test -z "$BASH"; then
     AC_MSG_ERROR([bash not found in \$PATH])
diff --git a/solenv/gbuild/Helper.mk b/solenv/gbuild/Helper.mk
index 10dac0b..0524c75 100644
--- a/solenv/gbuild/Helper.mk
+++ b/solenv/gbuild/Helper.mk
@@ -47,7 +47,8 @@ $(subst $(SRCDIR)/,$$S/,$(subst $(OUTDIR)/,$$O/,W=$(WORKDIR) && $(subst $(WORKDI
 endef
 
 define gb_Helper_abbreviate_dirs_native
-$(call gb_Helper_convert_native,$(call gb_Helper_abbreviate_dirs,$(1)))
+$(warning gb_Helper_abbreviate_dirs_native $(1)) \
+$(call gb_Helper_convert_native,$(call gb_Helper_abbreviate_dirs,$(call 
gb_Helper_convert_nonnative,$(1))))
 endef
 
 define gb_Helper_make_clean_target
diff --git a/solenv/gbuild/platform/WNT_INTEL_MSC.mk b/solenv/gbuild/platform/WNT_INTEL_MSC.mk
index 6402b42..02e1d6f 100644
--- a/solenv/gbuild/platform/WNT_INTEL_MSC.mk
+++ b/solenv/gbuild/platform/WNT_INTEL_MSC.mk
@@ -247,15 +247,51 @@ gb_Helper_OUTDIR_NATIVE := $(shell cygpath -m $(OUTDIR) | $(gb_AWK) -- '{ 
print
 
 gb_Helper_set_ld_path := PATH="$${PATH}:$(OUTDIR)/bin"
 
+define gb_Helper_convert_nonnative
+$(warning nonnative input is ::$(1)::) \
+$(strip \
+$(subst $(gb_Helper_SRCDIR_NATIVE),$(SRCDIR), \
+$(subst $(gb_Helper_WORKDIR_NATIVE),$(WORKDIR), \
+$(subst $(gb_Helper_OUTDIR_NATIVE),$(OUTDIR), \
+$(1))))) \
+$(warning nonnative output is \
+$(strip \
+$(subst $(gb_Helper_SRCDIR_NATIVE),$(SRCDIR), \
+$(subst $(gb_Helper_WORKDIR_NATIVE),$(WORKDIR), \
+$(subst $(gb_Helper_OUTDIR_NATIVE),$(OUTDIR), \
+$(1))))))
+endef
+
 # convert parameters filesystem root to native notation
 # does some real work only on windows, make sure not to
 # break the dummy implementations on unx*
 define gb_Helper_convert_native
+$(warning native input is ::$(1)::) \
 $(strip \
 $(subst $(SRCDIR),$(gb_Helper_SRCDIR_NATIVE), \
 $(subst $(WORKDIR),$(gb_Helper_WORKDIR_NATIVE), \
 $(subst $(OUTDIR),$(gb_Helper_OUTDIR_NATIVE), \
-$(1)))))
+$(call gb_Helper_convert_nonnative,$(1)))))) \
+$(warning replace $(OUTDIR) with $(gb_Helper_OUTDIR_NATIVE)) \
+$(warning replace $(WORKDIR) with $(gb_Helper_WORKDIR_NATIVE)) \
+$(warning replace $(SRCDIR) with $(gb_Helper_SRCDIR_NATIVE)) \
+$(warning native output is \
+$(strip \
+$(subst ::COM2::,$(gb_Helper_SRCDIR_NATIVE), \
+$(subst ::COM1::,$(gb_Helper_WORKDIR_NATIVE), \
+$(subst ::COM0::,$(gb_Helper_OUTDIR_NATIVE), \
+$(subst $(SRCDIR),::COM2::, \
+$(subst $(WORKDIR),::COM1::, \
+$(subst $(OUTDIR),::COM0::, \
+$(call gb_Helper_convert_nonnative,$(1))))))))))
+$(strip \
+$(subst ::COM2::,$(gb_Helper_SRCDIR_NATIVE), \
+$(subst ::COM1::,$(gb_Helper_WORKDIR_NATIVE), \
+$(subst ::COM0::,$(gb_Helper_OUTDIR_NATIVE), \
+$(subst $(SRCDIR),::COM2::, \
+$(subst $(WORKDIR),::COM1::, \
+$(subst $(OUTDIR),::COM0::, \
+$(call gb_Helper_convert_nonnative,$(1)))))))))
 endef
 
 # YaccTarget class

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.