more fixups to make a stage 3 build do the right thing with the ghc package
authorSimon Marlow <simonmar@microsoft.com>
Fri, 13 Oct 2006 13:53:18 +0000 (13:53 +0000)
committerSimon Marlow <simonmar@microsoft.com>
Fri, 13 Oct 2006 13:53:18 +0000 (13:53 +0000)
compiler/Makefile
compiler/package.conf.in

index f4ab45b..4c0386e 100644 (file)
@@ -834,6 +834,7 @@ HIERARCHICAL_LIB = NO
 VERSION = $(ProjectVersion)
 PKG_DEPENDS += base haskell98
 PACKAGE_CPP_OPTS += -DPKG_DEPENDS='$(PKG_DEPENDS)'
+PACKAGE_CPP_OPTS += -DSTAGE='"$(stage)"'
 
 # Omit Main from the library, the client will want to plug their own Main in
 LIBOBJS = $(filter-out $(odir)/main/Main.o $(odir)/parser/hschooks.o, $(OBJS))
@@ -865,7 +866,16 @@ NO_HADDOCK_DOCS = YES
 
 all :: $(GHC_PROG)
 
+# The stage 2 and stage 3 package.conf.in files are different, because they
+# point to either the stage2/ or stage3/ dirs in import-dirs.  Hence before
+# linking the ghc binary we must install the correct version of the package
+# configuration.  Yeuch... maybe one day this will all be done more cleanly.
+STAMP_PKG_CONF = $(GHC_DRIVER_DIR)/stamp-pkg-conf-$(PACKAGE)
+
 $(GHC_PROG) : libHS$(PACKAGE)$(_way).a main/Main.hs
+       $(RM) package.conf.inplace
+       $(RM) $(STAMP_PKG_CONF)
+       $(MAKE) $(STAMP_PKG_CONF)
        $(MAKE) -f Makefile.ghcbin $(MFLAGS) HS_PROG=$(GHC_PROG) $@
 
 # Propagate standard targets to Makefile.ghcbin
index 383ed85..58ce197 100644 (file)
@@ -263,30 +263,30 @@ exposed-modules:
 #ifdef INSTALLING
 import-dirs:   PKG_LIBDIR"/hslibs-imports/ghc"
 #else
-import-dirs:   FPTOOLS_TOP_ABS"/compiler/stage2/utils",
-              FPTOOLS_TOP_ABS"/compiler/stage2/basicTypes",
-              FPTOOLS_TOP_ABS"/compiler/stage2/types",
-              FPTOOLS_TOP_ABS"/compiler/stage2/hsSyn",
-              FPTOOLS_TOP_ABS"/compiler/stage2/prelude",
-              FPTOOLS_TOP_ABS"/compiler/stage2/rename",
-              FPTOOLS_TOP_ABS"/compiler/stage2/typecheck",
-              FPTOOLS_TOP_ABS"/compiler/stage2/deSugar",
-              FPTOOLS_TOP_ABS"/compiler/stage2/ghci",
-              FPTOOLS_TOP_ABS"/compiler/stage2/coreSyn",
-              FPTOOLS_TOP_ABS"/compiler/stage2/specialise",
-              FPTOOLS_TOP_ABS"/compiler/stage2/simplCore",
-              FPTOOLS_TOP_ABS"/compiler/stage2/stranal",
-              FPTOOLS_TOP_ABS"/compiler/stage2/stgSyn",
-              FPTOOLS_TOP_ABS"/compiler/stage2/simplStg",
-              FPTOOLS_TOP_ABS"/compiler/stage2/codeGen",
-              FPTOOLS_TOP_ABS"/compiler/stage2/main",
-              FPTOOLS_TOP_ABS"/compiler/stage2/profiling",
-              FPTOOLS_TOP_ABS"/compiler/stage2/parser",
-              FPTOOLS_TOP_ABS"/compiler/stage2/cprAnalysis",
-              FPTOOLS_TOP_ABS"/compiler/stage2/ndpFlatten",
-              FPTOOLS_TOP_ABS"/compiler/stage2/iface",
-              FPTOOLS_TOP_ABS"/compiler/stage2/cmm",
-              FPTOOLS_TOP_ABS"/compiler/stage2/nativeGen"
+import-dirs:   FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/utils",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/basicTypes",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/types",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/hsSyn",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/prelude",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/rename",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/typecheck",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/deSugar",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/ghci",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/coreSyn",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/specialise",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/simplCore",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/stranal",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/stgSyn",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/simplStg",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/codeGen",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/main",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/profiling",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/parser",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/cprAnalysis",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/ndpFlatten",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/iface",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/cmm",
+              FPTOOLS_TOP_ABS"/compiler/stage"STAGE"/nativeGen"
 #endif
 
 #ifdef INSTALLING