X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fghc.mk;h=498e8dc8b88956bf56d672bbefaad7ff342a4dbd;hb=d210b148c72c7fa97e87214d38608ef011657271;hp=64b1213c080f13066675fef7d2819a4e32b8f5db;hpb=30a08433b46de89511fcdf0149f0749739227efb;p=ghc-hetmet.git diff --git a/compiler/ghc.mk b/compiler/ghc.mk index 64b1213..498e8dc 100644 --- a/compiler/ghc.mk +++ b/compiler/ghc.mk @@ -364,19 +364,23 @@ ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32" # The #include is vital for the via-C route with older compilers, else the C # compiler doesn't realise that the stcall foreign imports are indeed # stdcall, and doesn't generate the Foo@8 name for them -# As it's only important for older compilers we don't need to do anything -# for stage2+. +# It's only important for older compilers, and in fact newer compilers +# will give a warning if the -#include flag is used. We therefore only +# do it for stage1, and only for < 6.11. +ifeq "$(ghc_ge_611)" "NO" compiler_stage1_CONFIGURE_OPTS += --ghc-option='-\#include' \ --ghc-option='""' \ --ghc-option='-\#include' \ --ghc-option='""' endif +endif # ghc_strlen percolates through so many modules that it is easier to get its # prototype via a global option instead of a myriad of per-file OPTIONS. -# Again, this is only important for older compilers, so we don't do it in -# stage 2+. +# Again, this is only done for older compilers. +ifeq "$(ghc_ge_611)" "NO" compiler_stage1_CONFIGURE_OPTS += --ghc-options='-\#include "cutils.h"' +endif compiler_stage3_CONFIGURE_OPTS := $(compiler_stage2_CONFIGURE_OPTS) @@ -464,6 +468,7 @@ $(eval $(call compiler-hs-dependency,PrimOp,$(PRIMOP_BITS))) ifneq "$(ProjectPatchLevel)" "0" compiler/stage1/inplace-pkg-config-munged: compiler/stage1/inplace-pkg-config sed -e 's/^\(version: .*\)\.$(ProjectPatchLevel)$$/\1/' \ + -e 's/^\(id: .*\)\.$(ProjectPatchLevel)$$/\1/' \ -e 's/^\(hs-libraries: HSghc-.*\)\.$(ProjectPatchLevel)$$/\1/' \ < $< > $@ "$(compiler_stage1_GHC_PKG)" update --force $(compiler_stage1_GHC_PKG_OPTS) $@