summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorIvo Hinkelmann <ihi@openoffice.org>2011-03-07 15:42:22 +0100
committerIvo Hinkelmann <ihi@openoffice.org>2011-03-07 15:42:22 +0100
commitf09cd2c5813a8d33eed65a9ce621058cdcb7067d (patch)
tree5e38d25a94cb8a4c16f982f684398b45d1e2282e /solenv
parent47f8c3989cdf8ea4f94806c97b12d46228a5c32e (diff)
parentdf2e7546e08740a0adc066809084d0cc9f273bf2 (diff)
CWS-TOOLING: integrate CWS gnumakefixes
Diffstat (limited to 'solenv')
-rwxr-xr-xsolenv/gbuild/platform/linux.mk8
-rwxr-xr-xsolenv/gbuild/platform/macosx.mk7
-rwxr-xr-xsolenv/gbuild/platform/solaris.mk7
-rwxr-xr-xsolenv/gbuild/platform/windows.mk19
-rw-r--r--solenv/gbuild/platform/winmingw.mk15
5 files changed, 50 insertions, 6 deletions
diff --git a/solenv/gbuild/platform/linux.mk b/solenv/gbuild/platform/linux.mk
index 2cbeca889001..757ae52c1b52 100755
--- a/solenv/gbuild/platform/linux.mk
+++ b/solenv/gbuild/platform/linux.mk
@@ -30,7 +30,7 @@ COM := GCC
gb_MKTEMP := mktemp -t gbuild.XXXXXX
-gb_CC := cc
+gb_CC := gcc
gb_CXX := g++
gb_GCCP := gcc
gb_AR := ar
@@ -153,6 +153,12 @@ gb_COMPILERNOOPTFLAGS := -O0
gb_Helper_abbreviate_dirs_native = $(gb_Helper_abbreviate_dirs)
+# convert parametters 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
+$(1)
+endef
# CObject class
diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk
index d6b84dc43e6d..b54cb8fb1b9d 100755
--- a/solenv/gbuild/platform/macosx.mk
+++ b/solenv/gbuild/platform/macosx.mk
@@ -142,6 +142,13 @@ gb_COMPILERNOOPTFLAGS := -O0
gb_Helper_abbreviate_dirs_native = $(gb_Helper_abbreviate_dirs)
+# convert parametters 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
+$(1)
+endef
+
# CObject class
diff --git a/solenv/gbuild/platform/solaris.mk b/solenv/gbuild/platform/solaris.mk
index f953dfbee599..6f29a9745f0d 100755
--- a/solenv/gbuild/platform/solaris.mk
+++ b/solenv/gbuild/platform/solaris.mk
@@ -126,6 +126,13 @@ gb_COMPILERNOOPTFLAGS :=
gb_Helper_abbreviate_dirs_native = $(gb_Helper_abbreviate_dirs)
+# convert parametters 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
+$(1)
+endef
+
# CObject class
diff --git a/solenv/gbuild/platform/windows.mk b/solenv/gbuild/platform/windows.mk
index a4137c077b09..5371ebf9d954 100755
--- a/solenv/gbuild/platform/windows.mk
+++ b/solenv/gbuild/platform/windows.mk
@@ -30,7 +30,7 @@ COM := MSC
# set tmpdir to some mixed case path, suitable for native tools
gb_TMPDIR:=$(if $(TMPDIR),$(shell cygpath -m $(TMPDIR)),$(shell cygpath -m /tmp))
-gb_MKTEMP := mktemp --tmpdir=$(gb_TMPDIR) -t gbuild.XXXXXX
+gb_MKTEMP := mktemp --tmpdir=$(gb_TMPDIR) gbuild.XXXXXX
gb_CC := cl
gb_CXX := cl
@@ -222,6 +222,17 @@ R=$(gb_Helper_REPODIR_NATIVE) && $(subst $(REPODIR)/,$$R/,$(subst $(gb_Helper_RE
$(subst $(REPODIR)/,$$R/,$(subst $(SRCDIR)/,$$S/,$(subst $(OUTDIR)/,$$O/,$(subst $(WORKDIR)/,$$W/,$(subst $(gb_Helper_REPODIR_NATIVE)/,$$R/,$(subst $(gb_Helper_SRCDIR_NATIVE)/,$$S/,$(subst $(gb_Helper_OUTDIR_NATIVE)/,$$O/,$(subst $(gb_Helper_WORKDIR_NATIVE)/,$$W/,$(1)))))))))
endef
+# convert parametters 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
+$(patsubst -I$(OUTDIR)%,-I$(gb_Helper_OUTDIR_NATIVE)%, \
+$(patsubst $(OUTDIR)%,$(gb_Helper_OUTDIR_NATIVE)%, \
+$(patsubst $(WORKDIR)%,$(gb_Helper_WORKDIR_NATIVE)%, \
+$(patsubst $(SRCDIR)%,$(gb_Helper_SRCDIR_NATIVE)%, \
+$(1)))))
+endef
+
# CObject class
@@ -402,11 +413,11 @@ $(call gb_Output_announce,$(2),$(true),LNK,4)
$(call gb_Helper_abbreviate_dirs_native,\
mkdir -p $(dir $(1)) && \
rm -f $(1) && \
- RESPONSEFILE=`$(gb_MKTEMP)` && \
- echo "$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+ RESPONSEFILE=$(call var2file,$(shell $(gb_MKTEMP)),100, \
+ $(call gb_Helper_convert_native,$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
$(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
$(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
- $(PCHOBJS)" > $${RESPONSEFILE} && \
+ $(PCHOBJS))) && \
$(gb_LINK) \
$(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
$(if $(filter StaticLibrary,$(TARGETTYPE)),$(gb_StaticLibrary_TARGETTYPEFLAGS)) \
diff --git a/solenv/gbuild/platform/winmingw.mk b/solenv/gbuild/platform/winmingw.mk
index b9eec5eaf417..e03f37a68d2b 100644
--- a/solenv/gbuild/platform/winmingw.mk
+++ b/solenv/gbuild/platform/winmingw.mk
@@ -28,7 +28,9 @@
GUI := WNT
COM := GCC
-gb_MKTEMP := mktemp -t gbuild.XXXXXX
+# set tmpdir to some mixed case path, suitable for native tools
+gb_TMPDIR:=$(if $(TMPDIR),$(shell cygpath -m $(TMPDIR)),$(shell cygpath -m /tmp))
+gb_MKTEMP := mktemp --tmpdir=$(gb_TMPDIR) gbuild.XXXXXX
gb_CC := $(CC)
gb_CXX := $(CXX)
@@ -189,6 +191,17 @@ R=$(gb_Helper_REPODIR_NATIVE) && $(subst $(REPODIR)/,$$R/,$(subst $(gb_Helper_RE
$(subst $(REPODIR)/,$$R/,$(subst $(SRCDIR)/,$$S/,$(subst $(OUTDIR)/,$$O/,$(subst $(WORKDIR)/,$$W/,$(subst $(gb_Helper_REPODIR_NATIVE)/,$$R/,$(subst $(gb_Helper_SRCDIR_NATIVE)/,$$S/,$(subst $(gb_Helper_OUTDIR_NATIVE)/,$$O/,$(subst $(gb_Helper_WORKDIR_NATIVE)/,$$W/,$(1)))))))))
endef
+# convert parametters 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
+$(patsubst -I$(OUTDIR)%,-I$(gb_Helper_OUTDIR_NATIVE)%, \
+$(patsubst $(OUTDIR)%,$(gb_Helper_OUTDIR_NATIVE)%, \
+$(patsubst $(WORKDIR)%,$(gb_Helper_WORKDIR_NATIVE)%, \
+$(patsubst $(SRCDIR)%,$(gb_Helper_SRCDIR_NATIVE)%, \
+$(1)))))
+endef
+
# CObject class
ifeq ($(gb_FULLDEPS),$(true))