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 LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice