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.