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
_______________________________________________
LibreOffice mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice