summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsimonpj@microsoft.com <unknown>2011-01-13 15:50:23 +0000
committersimonpj@microsoft.com <unknown>2011-01-13 15:50:23 +0000
commit5775d5142da227d65fb86994d363eb16841ee642 (patch)
tree3bc6ff769c7f23727b5e6c54cd83c6a7ab30205f
parent02d2dde49eaa614995a7e168d229e8b5cb88eafe (diff)
downloadhaskell-5775d5142da227d65fb86994d363eb16841ee642.tar.gz
Add OSTYPE build-system variable, and use it
The use is in install.mk.in, where we need to know when we're on Cygwin. This fixes the build on my Windows box, where I have both Msys and Cygwin.
-rw-r--r--configure.ac5
-rw-r--r--mk/config.mk.in8
-rw-r--r--mk/install.mk.in10
-rw-r--r--mk/project.mk.in4
4 files changed, 20 insertions, 7 deletions
diff --git a/configure.ac b/configure.ac
index afe7a05b16..d116ff18b7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -89,6 +89,11 @@ AC_ARG_WITH([ghc],
fi
WithGhc="$GHC"])
+
+dnl ** Tell the make system which OS we are using
+dnl $OSTYPE is set by the operating system to "msys" or "cygwin" or something
+AC_SUBST(OSTYPE)
+
dnl ** Booting from .hc files?
dnl --------------------------------------------------------------
AC_ARG_ENABLE(hc-boot,
diff --git a/mk/config.mk.in b/mk/config.mk.in
index c4a02290f7..e271cb1984 100644
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -596,16 +596,18 @@ CTAGS = $(ETAGS)
RAWCPP_FLAGS = -undef -traditional
FIND = @FindCmd@
SORT = @SortCmd@
-INSTALL = @INSTALL@
+
#
# Sigh - the autoconf macro for INSTALL will subst a relative path to the fallback
# install-sh script (if chosen). This not terribly useful to us, so we convert
# it into an abs. path.
#
+INSTALL = @INSTALL@
INSTALL := $(subst .././install-sh,$(TOP)/install-sh,$(INSTALL))
+
LATEX = latex
-PDFLATEX = pdflatex
-BIBTEX = bibtex
+PDFLATEX = pdflatex
+BIBTEX = bibtex
LN_S = @LN_S@
MV = mv
NROFF = nroff
diff --git a/mk/install.mk.in b/mk/install.mk.in
index b63ffe38d7..6d5f724ea6 100644
--- a/mk/install.mk.in
+++ b/mk/install.mk.in
@@ -159,11 +159,13 @@ INSTALL_DIR = $(INSTALL) -m 755 -d $(call MK_INSTALL_DEST,$1)
# This causes problems for bindisttest/checkBinaries.sh which then
# thinks that e.g. the userguide HTML files are binaries.
#
-# We therefore use a /cygdrive path if we are on cygwin
-ifeq '$(shell cygpath "c:/" 2> /dev/null)' ''
-MK_INSTALL_DEST = $1
-else
+# We therefore use a /cygdrive path if we are on cygwin (only)
+# (This will make a Cygwin build run slowly
+# becuase of all those shell invocations.)
+ifeq "$OSTYPE" "cygwin"
MK_INSTALL_DEST = "$(shell cygpath $1)"
+else
+MK_INSTALL_DEST = $1
endif
#
diff --git a/mk/project.mk.in b/mk/project.mk.in
index dc16a39216..3ceef15f30 100644
--- a/mk/project.mk.in
+++ b/mk/project.mk.in
@@ -135,3 +135,7 @@ else
Windows=NO
endif
+# Tell the build system what the host operating system is
+# This distinguishes "msys" and "cygwin", which are not
+# not distinguished by HOST_OS_CPP
+OSTYPE=@OSTYPE@