[Libreoffice-commits] .: solenv/bin solenv/gbuild
Jan Holesovsky
kendy at kemper.freedesktop.org
Sun Dec 4 16:47:13 PST 2011
solenv/bin/build.pl | 12 ++++++++++++
solenv/gbuild/BuildDirs.mk | 13 +++++++++++--
2 files changed, 23 insertions(+), 2 deletions(-)
New commits:
commit f259162cf511528c210eb71f51e63b5ff6838ff5
Author: Jan Holesovsky <kendy at 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))
More information about the Libreoffice-commits
mailing list