solenv/bin/build.pl        |   12 ++++++++++++
 solenv/gbuild/BuildDirs.mk |   13 +++++++++++--
 2 files changed, 23 insertions(+), 2 deletions(-)

New commits:
commit f259162cf511528c210eb71f51e63b5ff6838ff5
Author: Jan Holesovsky <ke...@suse.cz>
Date:   Mon Dec 5 00:57:12 2011 +0100

    The evil in BuildDirs.mk has to be undone by another evil.

diff --git a/solenv/bin/build.pl b/solenv/bin/build.pl
index 4957627..ec8dc11 100755
--- a/solenv/bin/build.pl
+++ b/solenv/bin/build.pl
@@ -76,6 +76,18 @@
 #                       #
 #########################
 
+    # This is to undo the EVIL in solenv/gbuild/BuildDirs.mk
+    if ($ENV{OS_FOR_BUILD} eq 'WNT') {
+       $ENV{WORKDIR} = `cygpath -m '$ENV{WORKDIR}'`;
+       $ENV{OUTDIR} = `cygpath -m '$ENV{OUTDIR}'`;
+       $ENV{OUTDIR_FOR_BUILD} = `cygpath -m '$ENV{OUTDIR_FOR_BUILD}'`;
+       $ENV{SRCDIR} = `cygpath -m '$ENV{SRCDIR}'`;
+       chomp($ENV{WORKDIR});
+       chomp($ENV{OUTDIR});
+       chomp($ENV{OUTDIR_FOR_BUILD});
+       chomp($ENV{SRCDIR});
+    }
+
     my $modules_number++;
     my $perl = 'perl';
     my $remove_command = 'rm -rf';
diff --git a/solenv/gbuild/BuildDirs.mk b/solenv/gbuild/BuildDirs.mk
index 6a0933b..5955082 100644
--- a/solenv/gbuild/BuildDirs.mk
+++ b/solenv/gbuild/BuildDirs.mk
@@ -35,8 +35,17 @@ ifeq ($(strip $(SOLARENV)),)
 $(error SOLARENV variable is empty, no environment set, aborting)
 endif
 
-# HACK
-# unixify windoze paths
+# The entire gbuild operates in unix paths, and then when calling the
+# native tools, converts them back to the Windows native paths.
+#
+# The path overwriting below is EVIL, because after the recent changes when
+# every module (even build.pl-based) is routed through gbuild, the modules
+# using build.pl-based build will get OUTDIR in the cygwin format.
+#
+# To undo this, we explicitly set these vars to native Windows paths in
+# build.pl again, otherwise we would have potentially different behavior in
+# build.pl-based modules when you build them from the toplevel (using make
+# all), and from the module itself (using cd module ; build )
 ifeq ($(OS_FOR_BUILD),WNT)
 override WORKDIR := $(shell cygpath -u $(WORKDIR))
 override OUTDIR := $(shell cygpath -u $(OUTDIR))
_______________________________________________
Libreoffice-commits mailing list
Libreoffice-commits@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to