X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FMakefile;h=ce69bae2f24087d5f7b80219447288c721af8490;hb=abd113f06ebf3ac29f852e80c5a8c0060f979202;hp=9a71d74c93ef46e0081fdf7ebf8c2d6bf0f32baf;hpb=a368e3b80600064ca0c630fceee3b67f2b22c238;p=ghc-hetmet.git diff --git a/compiler/Makefile b/compiler/Makefile index 9a71d74..ce69bae 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -568,9 +568,13 @@ SRC_MKDEPENDC_OPTS += -I$(GHC_INCLUDE_DIR) # ----------------------------------------------------------------------------- # Haskell compilations -SRC_HC_OPTS += \ - -cpp -fglasgow-exts -fno-generics -Rghc-timing \ - -I. -Iparser -Iutil +SRC_HC_OPTS += -cpp -fglasgow-exts -Rghc-timing -I. -Iparser -Iutil + +ifeq "$(ghc_ge_609)" "NO" +SRC_HC_OPTS += -fno-generics +else +SRC_HC_OPTS += -XNoGenerics +endif # Omitted: -I$(GHC_INCLUDE_DIR) # We should have -I$(GHC_INCLUDE_DIR) in SRC_HC_OPTS, @@ -594,13 +598,9 @@ SRC_HC_OPTS += -package Win32 PKG_DEPENDS += Win32 endif else -ifeq "$(bootstrapped) $(ghc_ge_601)" "NO NO" -SRC_HC_OPTS += -package posix -else SRC_HC_OPTS += -package unix PKG_DEPENDS += unix endif -endif # We use the Cabal package in stages 2/3 only; in stage 1 we're using # the libcompat library which provides the Cabal modules. @@ -626,7 +626,7 @@ endif # The standard suffix rule for compiling a Haskell file # adds these flags to the command line -# There used to be a -no-recomp flag on PrimOp, but why? +# There used to be a -fforce-recomp flag on PrimOp, but why? # It's an expensive module to recompile! prelude/PrimOp_HC_OPTS = -H80m @@ -637,15 +637,13 @@ parser/Parser_HC_OPTS += -fno-warn-incomplete-patterns # Careful optimisation of the parser: we don't want to throw everything # at it, because that takes too long and doesn't buy much, but we do want # to inline certain key external functions, so we instruct GHC not to -# throw away inlinings as it would normally do in -Onot mode: -parser/Parser_HC_OPTS += -Onot -fno-ignore-interface-pragmas +# throw away inlinings as it would normally do in -O0 mode: +parser/Parser_HC_OPTS += -O0 -fno-ignore-interface-pragmas ifeq "$(HOSTPLATFORM)" "hppa1.1-hp-hpux9" rename/RnMonad_HC_OPTS = -O2 -O2-for-C endif -utils/Digraph_HC_OPTS = -fglasgow-exts - # basicTypes/SrcLoc_HC_OPTS = -funbox-strict-fields # We always optimise some low-level modules, otherwise performance of @@ -687,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 @@ -1042,7 +1044,7 @@ endif # careful to recompile stuff you need if you reconfigure or change HsVersions.h. # Aargh, these don't work properly anyway, because GHC's recompilation checker -# just reports "compilation NOT required". Do we have to add -no-recomp for each +# just reports "compilation NOT required". Do we have to add -fforce-recomp for each # of these .hs files? I haven't done anything about this yet. $(odir)/codeGen/Bitmap.$(way_)o : ../includes/MachDeps.h