Don't register the non-munged stage1 ghc package
[ghc-hetmet.git] / compiler / ghc.mk
index 59b451d..70c95f3 100644 (file)
@@ -51,6 +51,8 @@ $(compiler_CONFIG_HS) : mk/config.mk mk/project.mk
        @echo "cBooterVersion        = \"$(GhcVersion)\"" >> $@
        @echo "cStage                :: String" >> $@
        @echo "cStage                = show (STAGE :: Int)" >> $@
+       @echo "cIntegerLibrary       :: String" >> $@
+       @echo "cIntegerLibrary       = \"$(INTEGER_LIBRARY)\"" >> $@
        @echo "cSplitObjs            :: String" >> $@
        @echo "cSplitObjs            = \"$(SupportsSplitObjs)\"" >> $@
        @echo "cGhcWithInterpreter   :: String" >> $@
@@ -362,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='"<windows.h>"' \
                           --ghc-option='-\#include'    \
                           --ghc-option='"<process.h>"'
 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)
 
@@ -408,9 +414,14 @@ compiler_PACKAGE = ghc
 # when it gets registered; see Note [munge-stage1-package-config]
 # below.
 ifneq "$(ProjectPatchLevel)" "0"
+
 define compiler_PACKAGE_MAGIC
 compiler_stage1_VERSION = $(subst .$(ProjectPatchLevel),,$(ProjectVersion))
 endef
+
+# Don't register the non-munged package
+compiler_stage1_REGISTER_PACKAGE = NO
+
 endif
 
 # haddocking only happens for stage2
@@ -462,6 +473,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) $@