summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marlow <simonmar@microsoft.com>2006-03-10 11:04:09 +0000
committerSimon Marlow <simonmar@microsoft.com>2006-03-10 11:04:09 +0000
commit71f2cb608d5cf9ed86ecbd194c03dbc356a1c4e7 (patch)
tree10ef5f3d16e009a1432b7ca9dd808592a5583720
parent14f70d834589f134c8fbeaa2e0f5f56cba3eab28 (diff)
downloadhaskell-71f2cb608d5cf9ed86ecbd194c03dbc356a1c4e7.tar.gz
fix the build with GHC 6.4 (not 6.4.1)
-rw-r--r--ghc/lib/compat/Makefile5
-rw-r--r--ghc/lib/compat/cbits/unicode.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ghc/lib/compat/Makefile b/ghc/lib/compat/Makefile
index ae2f4ed340..7637c94115 100644
--- a/ghc/lib/compat/Makefile
+++ b/ghc/lib/compat/Makefile
@@ -43,6 +43,11 @@ UseGhcForCc = YES
# compiling with (e.g. 6.2.1). Hence the filter-out.
SRC_HC_OPTS += $(filter-out -D%, $(GhcHcOpts))
+# GHC 6.4 didn't have WCsubst.c, but 6.4.1 did, and we need to know
+# this in cbits/unicode.c The patchlevel isn't normally exposed as a
+# CPP symbol, so we have to do it by hand:
+SRC_CC_OPTS += -D__GHC_PATCHLEVEL__=$(GhcPatchLevel)
+
ifeq "$(ghc_ge_603)" "YES"
# These modules are provided in GHC 6.3+
EXCLUDED_SRCS += \
diff --git a/ghc/lib/compat/cbits/unicode.c b/ghc/lib/compat/cbits/unicode.c
index 0e0d1c5d40..c744cc9436 100644
--- a/ghc/lib/compat/cbits/unicode.c
+++ b/ghc/lib/compat/cbits/unicode.c
@@ -1,3 +1,3 @@
-#if __GLASGOW_HASKELL__ < 604
+#if __GLASGOW_HASKELL__ < 604 || (__GLASGOW_HASKELL__==604 && __GHC_PATCHLEVEL__==0)
#include "WCsubst.c"
#endif