X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FMakefile;h=bc7099dfeaa89c9fb45704a249d44d6e4c2b8005;hb=937eb1f1386f12c729c6d819417fe81bc4786b9f;hp=ceb47b06da94b4662afc95d927f11f5633f26827;hpb=7ea43827e739555c23f2b802a6a5eaf2a65570ae;p=ghc-hetmet.git diff --git a/compiler/Makefile b/compiler/Makefile index ceb47b0..bc7099d 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -95,15 +95,8 @@ ifeq "$(stage)" "" stage=1 endif -ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32" -ifeq "$(stage)" "1" +# XXX DQ is now the same on all platforms, so get rid of it DQ = \" -else -DQ = \\\" -endif -else -DQ = \" -endif .DUMMY: stage_dir stage_dirs : @@ -112,7 +105,7 @@ stage_dirs : $(MKDIRHIER) stage$(stage)/$$i; \ done -ifeq "$(stage) $(ghc_ge_603)" "1 YES" +ifeq "$(stage)" "1" UsingHsBoot = YES else ifneq "$(findstring $(stage), 2 3)" "" @@ -173,7 +166,7 @@ SRC_HC_OPTS += $(patsubst %, -i$(odir)/%, $(ALL_DIRS)) SRC_HC_OPTS += -Wall -fno-warn-name-shadowing # Turn off orphan warnings, but only if the flag exists (i.e. not if we # are building stage 1 and using GHC < 6.3). -ifneq "$(stage) $(ghc_ge_603)" "1 NO" +ifneq "$(stage)" "1 NO" SRC_HC_OPTS += -fno-warn-orphans endif @@ -425,6 +418,11 @@ ALL_DIRS += javaGen SRC_HC_OPTS += -DJAVA endif +ifeq ($(UseLibFFI),YES) +SRC_HC_OPTS += -DUSE_LIBFFI +SRC_HSC2HS_OPTS += -DUSE_LIBFFI +endif + ifeq "$(BootingFromHc)" "YES" # HC files are always from a self-booted compiler bootstrapped = YES @@ -567,12 +565,10 @@ SRC_HC_OPTS += -package Cabal PKG_DEPENDS += Cabal endif -ifeq "$(ghc_ge_603)" "YES" # Ignore lang, to avoid potential clash with the Generics module if # lang happens to be a dependency of some exposed package in the local # GHC installation (eg. wxHaskell did this around 6.4). SRC_HC_OPTS += -ignore-package lang -endif SRC_CC_OPTS += -Iparser -I. -O SRC_HC_OPTS += -recomp $(GhcHcOpts) $(GhcStage$(stage)HcOpts) @@ -594,17 +590,6 @@ prelude/PrimOp_HC_OPTS = -H80m main/ParsePkgConf_HC_OPTS += -fno-warn-incomplete-patterns parser/Parser_HC_OPTS += -fno-warn-incomplete-patterns -ifeq "$(ghc_ge_603)" "NO" -# Use -fvia-C since the NCG can't handle the narrow16Int# (and intToInt16#?) -# primops on all platforms. -parser/Parser_HC_OPTS += -fvia-C -# because the NCG can't handle the 64-bit math in here -prelude/PrelRules_HC_OPTS += -fvia-C -# ByteCodeItbls uses primops that the NCG doesn't support. -ghci/ByteCodeItbls_HC_OPTS += -fvia-C -ghci/ByteCodeLink_HC_OPTS += -fvia-C -monly-3-regs -endif - # 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 @@ -617,7 +602,7 @@ endif utils/Digraph_HC_OPTS = -fglasgow-exts -basicTypes/SrcLoc_HC_OPTS = -funbox-strict-fields +# basicTypes/SrcLoc_HC_OPTS = -funbox-strict-fields # We always optimise some low-level modules, otherwise performance of # a non-optimised compiler is severely affected.