summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lynagh <ian@well-typed.com>2013-06-09 19:24:45 +0100
committerIan Lynagh <ian@well-typed.com>2013-06-09 19:24:45 +0100
commit96eca81ab1da4a23d138bbed73700c4e8ac7812b (patch)
treef1f4a4eb37ec47886e51c489ce1b0c8ec2f58b36
parent22690c9900068b121863dc359b8c7699b453e70d (diff)
downloadhaskell-96eca81ab1da4a23d138bbed73700c4e8ac7812b.tar.gz
Change how we check that we have a suitable 'make'
We now check in the same way that the testsuite does.
-rw-r--r--ghc.mk17
-rw-r--r--mk/tree.mk6
2 files changed, 17 insertions, 6 deletions
diff --git a/ghc.mk b/ghc.mk
index f7dc832716..c604a9adeb 100644
--- a/ghc.mk
+++ b/ghc.mk
@@ -76,6 +76,23 @@
default : all
+
+##################################################
+# Check that we have a new enough 'make'
+
+HAVE_EVAL := NO
+$(eval HAVE_EVAL := YES)
+
+ifeq "$(HAVE_EVAL)" "NO"
+$(error Your make does not support eval. You need GNU make >= 3.81)
+endif
+
+ifeq "$(abspath /)" ""
+$(error Your make does not support abspath. You need GNU make >= 3.81)
+endif
+##################################################
+
+
# Catch make if it runs away into an infinite loop
ifeq "$(MAKE_RESTARTS)" ""
else ifeq "$(MAKE_RESTARTS)" "1"
diff --git a/mk/tree.mk b/mk/tree.mk
index 9c2e3daa4e..887e643340 100644
--- a/mk/tree.mk
+++ b/mk/tree.mk
@@ -1,10 +1,4 @@
-ifneq "$(findstring 3.7, $(MAKE_VERSION))" ""
-ifeq "$(findstring 3.79.1, $(MAKE_VERSION))" ""
-$(error GNU make version 3.79.1 or later is required.)
-endif
-endif
-
################################################################################
#
# Layout of the source tree