From 64d22486ac2005a74769873da2ff39fc89ebd084 Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Fri, 13 Oct 2006 13:53:18 +0000 Subject: [PATCH] more fixups to make a stage 3 build do the right thing with the ghc package --- compiler/Makefile | 10 +++++++++ compiler/package.conf.in | 48 ++++++++++++++++++++-------------------- 2 files changed, 34 insertions(+), 24 deletions(-) diff --git a/compiler/Makefile b/compiler/Makefile index f4ab45be285f..4c0386e0dc9a 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -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 diff --git a/compiler/package.conf.in b/compiler/package.conf.in index 383ed851b645..58ce19759b41 100644 --- a/compiler/package.conf.in +++ b/compiler/package.conf.in @@ -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