diff options
author | Ian Lynagh <igloo@earth.li> | 2008-06-23 14:44:26 +0000 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2008-06-23 14:44:26 +0000 |
commit | 9a657491d1caf6e29c85ce71e95a36eea3e036b1 (patch) | |
tree | 52efd41f503e023f2bb7a25fdcad33366d3e0941 | |
parent | f2e53b6f1045941243d2d5e76e9b01b6e769ddd9 (diff) | |
download | haskell-9a657491d1caf6e29c85ce71e95a36eea3e036b1.tar.gz |
Fix the build with GHC 6.4
-rw-r--r-- | compiler/Makefile | 4 | ||||
-rw-r--r-- | compiler/typecheck/TcTyClsDecls.lhs | 4 | ||||
-rw-r--r-- | libraries/Makefile | 3 | ||||
-rw-r--r-- | utils/genapply/Makefile | 5 | ||||
-rw-r--r-- | utils/hsc2hs/Makefile | 4 | ||||
-rw-r--r-- | utils/runghc/Makefile | 4 |
6 files changed, 24 insertions, 0 deletions
diff --git a/compiler/Makefile b/compiler/Makefile index 5cce4bc4dc..ce69bae2f2 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -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 diff --git a/compiler/typecheck/TcTyClsDecls.lhs b/compiler/typecheck/TcTyClsDecls.lhs index fa10fbf203..635fef9da8 100644 --- a/compiler/typecheck/TcTyClsDecls.lhs +++ b/compiler/typecheck/TcTyClsDecls.lhs @@ -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} diff --git a/libraries/Makefile b/libraries/Makefile index ac92a526de..0b50b7ffbd 100644 --- a/libraries/Makefile +++ b/libraries/Makefile @@ -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) diff --git a/utils/genapply/Makefile b/utils/genapply/Makefile index ba13de2374..64489db1ac 100644 --- a/utils/genapply/Makefile +++ b/utils/genapply/Makefile @@ -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 diff --git a/utils/hsc2hs/Makefile b/utils/hsc2hs/Makefile index c30269dd20..7763183c8b 100644 --- a/utils/hsc2hs/Makefile +++ b/utils/hsc2hs/Makefile @@ -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 diff --git a/utils/runghc/Makefile b/utils/runghc/Makefile index 557940b611..54245a3397 100644 --- a/utils/runghc/Makefile +++ b/utils/runghc/Makefile @@ -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" |