Fix the build with GHC 6.4
authorIan Lynagh <igloo@earth.li>
Mon, 23 Jun 2008 14:44:26 +0000 (14:44 +0000)
committerIan Lynagh <igloo@earth.li>
Mon, 23 Jun 2008 14:44:26 +0000 (14:44 +0000)
compiler/Makefile
compiler/typecheck/TcTyClsDecls.lhs
libraries/Makefile
utils/genapply/Makefile
utils/hsc2hs/Makefile
utils/runghc/Makefile

index 5cce4bc..ce69bae 100644 (file)
@@ -685,6 +685,10 @@ parser/Lexer_HC_OPTS += -funbox-strict-fields
 # prototype via a global option instead of a myriad of per-file OPTIONS
 SRC_HC_OPTS += '-\#include "cutils.h"'
 
+ifeq "$(ghc_ge_605)" "NO"
+utils/LazyUniqFM_HC_OPTS += -fallow-undecidable-instances
+endif
+
 # ----------------------------------------------------------------------------
 #              Generate supporting stuff for prelude/PrimOp.lhs 
 #              from prelude/primops.txt
index fa10fbf..635fef9 100644 (file)
@@ -224,6 +224,10 @@ mkGlobalThings decls things
         = (name, AClass cl)
     mk_thing (L _ decl, ~(ATyCon tc))
          = (tcdName decl, ATyCon tc)
+#if __GLASGOW_HASKELL__ < 605
+-- Old GHCs don't understand that ~... matches anything
+    mk_thing _ = panic "mkGlobalThings: Can't happen"
+#endif
 \end{code}
 
 
index ac92a52..0b50b7f 100644 (file)
@@ -173,6 +173,9 @@ boot: $(BOOTSTRAP_STAMPS) ifBuildable/ifBuildable \
 # We ought to be depending on %/Setup.*hs, but make makes that difficult.
 
 CABAL_GHC_FLAGS = -Wall
+ifeq "$(ghc_ge_605)" "NO"
+CABAL_GHC_FLAGS += -cpp
+endif
 
 $(foreach SUBDIR,$(SUBDIRS),$(SUBDIR)/setup/Setup): \
 %/setup/Setup: $(BOOTSTRAP_STAMPS)
index ba13de2..64489db 100644 (file)
@@ -17,7 +17,12 @@ SRC_HC_OPTS += -package pretty
 endif
 
 # Try to get dependencies right...
+ifeq "$(ghc_ge_605)" "YES"
 SRC_HC_OPTS += -fforce-recomp
+else
+SRC_HC_OPTS += -no-recomp
+endif
+
 GenApply.o : $(GHC_INCLUDE_DIR)/ghcconfig.h
 GenApply.o : $(GHC_INCLUDE_DIR)/MachRegs.h
 GenApply.o : $(GHC_INCLUDE_DIR)/Constants.h
index c30269d..7763183 100644 (file)
@@ -14,6 +14,10 @@ SRC_HC_OPTS += $(addprefix -optc, $(MACOSX_DEPLOYMENT_CC_OPTS))
 SRC_LD_OPTS += $(addprefix -optl, $(MACOSX_DEPLOYMENT_LD_OPTS))
 endif
 
+ifeq "$(ghc_ge_605)" "NO"
+SRC_HC_OPTS += -cpp
+endif
+
 # This causes libghccompat.a to be used:
 include $(GHC_COMPAT_DIR)/compat.mk
 
index 557940b..54245a3 100644 (file)
@@ -10,6 +10,10 @@ SRC_HC_OPTS += $(addprefix -optc, $(MACOSX_DEPLOYMENT_CC_OPTS))
 SRC_LD_OPTS += $(addprefix -optl, $(MACOSX_DEPLOYMENT_LD_OPTS))
 endif
 
+ifeq "$(ghc_ge_605)" "NO"
+SRC_HC_OPTS += -cpp
+endif
+
 # We have two version: the inplace version compiled by the bootstrap compiler
 #   and the install version compiled by the stage 1 compiler
 ifeq "$(stage)" "2"