Rejig TABLES_NEXT_TO_CODE: the -unreg flag was broken by earlier changes
[ghc-hetmet.git] / compiler / Makefile
index 4c0386e..c77dc5f 100644 (file)
@@ -192,7 +192,7 @@ else
 GHC_PROG=$(odir)/ghc-$(ProjectVersion)
 endif
 
-ifneq "$(stage)" "2"
+ifeq "$(stage)" "1"
 HS_PROG = $(GHC_PROG)
 endif
 
@@ -217,6 +217,7 @@ $(CONFIG_HS) : $(FPTOOLS_TOP)/mk/config.mk Makefile
        @echo "cHscIfaceFileVersion  = \"$(HscIfaceFileVersion)\"" >> $(CONFIG_HS)
        @echo "cGhcWithNativeCodeGen = \"$(GhcWithNativeCodeGen)\"" >> $(CONFIG_HS)
        @echo "cGhcUnregisterised    = \"$(GhcUnregisterised)\"" >> $(CONFIG_HS)
+       @echo "cGhcEnableTablesNextToCode = \"$(GhcEnableTablesNextToCode)\"" >> $(CONFIG_HS)
        @echo "cLeadingUnderscore    = \"$(LeadingUnderscore)\"" >> $(CONFIG_HS)
        @echo "cRAWCPP_FLAGS         = \"$(RAWCPP_FLAGS)\"" >> $(CONFIG_HS)
        @echo "cGCC                  = \"$(WhatGccIsCalled)\"" >> $(CONFIG_HS)
@@ -346,10 +347,6 @@ endif
        @echo "#define HOST_VENDOR \"$(TargetVendor_CPP)\"" >> $@
        @echo "#define TARGET_VENDOR \"$(TargetVendor_CPP)\"" >> $@
        @echo >> $@
-ifeq "$(GhcWithTablesNextToCode)" "YES"
-       @echo "#define TABLES_NEXT_TO_CODE 1" >> $@
-endif
-       @echo >> $@
        @echo "#endif /* __PLATFORM_H__ */"          >> $@
        @echo "Done."
 
@@ -420,6 +417,12 @@ SRC_HC_OPTS += -DGHCI -package template-haskell
 # SRC_HC_OPTS += -DGHCI -DBREAKPOINT -package template-haskell
 PKG_DEPENDS += template-haskell
 
+# Should GHCI be building info tables in the TABLES_NEXT_TO_CODE style
+# or not?
+ifeq "$(GhcEnableTablesNextToCode) $(GhcUnregisterised)" "YES NO"
+SRC_HC_OPTS += -DGHCI_TABLES_NEXT_TO_CODE
+endif
+
 # Use threaded RTS with GHCi, so threads don't get blocked at the prompt.
 SRC_HC_OPTS += -threaded
 
@@ -822,13 +825,11 @@ coreSyn/CorePrep_HC_OPTS += -auto-all
 #-----------------------------------------------------------------------------
 # Building the GHC package
 
-# The GHC package is made from the stage 2 build.  Fortunately the
-# package build system framework more or less does the right thing for
-# us here.
-
-#              All this section is stage-2 only!
-ifeq "$(stage)" "2"
+# The GHC package is made from the stage 2 build and later.
+# Fortunately the package build system framework more or less does the
+# right thing for us here.
 
+ifneq "$(findstring $(stage), 2 3)" ""
 PACKAGE = ghc
 HIERARCHICAL_LIB = NO
 VERSION = $(ProjectVersion)