X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=ghc.mk;h=2901291cc3d72c5203e27f00afedc0966408ea39;hp=d352d5c90ceea8e57a780e7ba7be9452e6e1e3d8;hb=c55eee3add067dd0372ed8eede64b84791f7a9b9;hpb=f65bf7559b3e92607cfcf7a334e9994891dd9c32 diff --git a/ghc.mk b/ghc.mk index d352d5c..2901291 100644 --- a/ghc.mk +++ b/ghc.mk @@ -525,7 +525,7 @@ endif ifneq "$(CLEANING)" "YES" BUILD_DIRS += \ - $(patsubst %, libraries/%, $(PACKAGES) $(PACKAGES_STAGE2)) + $(patsubst %, libraries/%, $(PACKAGES)) endif ifneq "$(BootingFromHc)" "YES" @@ -549,6 +549,12 @@ BUILD_DIRS += \ $(GHC_TOUCHY_DIR) endif +ifneq "$(CLEANING)" "YES" +# After compiler/, because these packages depend on it +BUILD_DIRS += \ + $(patsubst %, libraries/%, $(PACKAGES_STAGE2)) +endif + # XXX libraries/% must come before any programs built with stage1, see # Note [lib-depends]. @@ -685,6 +691,15 @@ libraries/bin-package-db/dist-boot/build/Distribution/InstalledPackageInfo/Binar $(foreach pkg,$(BOOT_PKGS),$(eval libraries/$(pkg)_dist-boot_HC_OPTS += $$(GhcBootLibHcOpts))) +# Make sure we have all the GHCi libs by the time we've built +# ghc-stage2. DPH includes a bit of Template Haskell which needs the +# GHCI libs, and we don't have a better way to express that dependency. +# +GHCI_LIBS = $(foreach lib,$(PACKAGES),$(libraries/$(lib)_dist-install_GHCI_LIB)) \ + $(compiler_stage2_GHCI_LIB) + +ghc/stage2/build/tmp/$(ghc_stage2_PROG) : $(GHCI_LIBS) + endif # ----------------------------------------------------------------------------- @@ -766,6 +781,9 @@ else for i in $(INSTALL_LIBEXECS); do \ $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i "$(DESTDIR)$(ghclibexecdir)"; \ done +# We rename ghc-stage2, so that the right program name is used in error +# messages etc. + "$(MV)" "$(DESTDIR)$(ghclibexecdir)/ghc-stage2" "$(DESTDIR)$(ghclibexecdir)/ghc" endif install_topdir_scripts: $(INSTALL_TOPDIR_SCRIPTS) @@ -799,6 +817,8 @@ ifneq "$(INSTALL_LIBRARY_DOCS)" "" for i in $(INSTALL_LIBRARY_DOCS); do \ $(INSTALL_DOC) $(INSTALL_OPTS) $$i "$(DESTDIR)$(docdir)/html/libraries/"; \ done + $(INSTALL_DATA) $(INSTALL_OPTS) libraries/prologue.txt "$(DESTDIR)$(docdir)/html/libraries/" + $(INSTALL_SCRIPT) $(INSTALL_OPTS) libraries/gen_contents_index "$(DESTDIR)$(docdir)/html/libraries/" endif ifneq "$(INSTALL_HTML_DOC_DIRS)" "" for i in $(INSTALL_HTML_DOC_DIRS); do \ @@ -812,7 +832,7 @@ INSTALLED_PACKAGE_CONF=$(DESTDIR)$(topdir)/package.conf.d # Install packages in the right order, so that ghc-pkg doesn't complain. # Also, install ghc-pkg first. ifeq "$(Windows)" "NO" -INSTALLED_GHC_REAL=$(DESTDIR)$(ghclibexecdir)/ghc-stage2 +INSTALLED_GHC_REAL=$(DESTDIR)$(ghclibexecdir)/ghc INSTALLED_GHC_PKG_REAL=$(DESTDIR)$(ghclibexecdir)/ghc-pkg else INSTALLED_GHC_REAL=$(DESTDIR)$(bindir)/ghc.exe @@ -848,6 +868,7 @@ install_packages: libffi/package.conf.install rts/package.conf.install "$(GHC_CABAL_INPLACE)" install \ "$(INSTALLED_GHC_REAL)" \ "$(INSTALLED_GHC_PKG_REAL)" \ + "$(STRIP)" \ "$(DESTDIR)$(topdir)" \ $p $(INSTALL_DISTDIR_$p) \ '$(DESTDIR)' '$(prefix)' '$(ghclibdir)' '$(docdir)/html/libraries' \ @@ -898,6 +919,8 @@ $(eval $(call bindist,.,\ mk/project.mk \ mk/install.mk.in \ bindist.mk \ + libraries/gen_contents_index \ + libraries/prologue.txt \ libraries/dph/LICENSE \ )) endif @@ -1019,7 +1042,7 @@ sdist-prep : $(call sdist_file,utils/haddock,dist,src,Haddock/Interface,Lex,x) $(call sdist_file,utils/haddock,dist,src,Haddock/Interface,Parse,y) cd $(SRC_DIST_DIR) && "$(RM)" $(RM_OPTS) -r compiler/stage[123] mk/build.mk - cd $(SRC_DIST_DIR) && "$(FIND)" $(SRC_DIST_DIRS) \( -name _darcs -o -name SRC -o -name "autom4te*" -o -name "*~" -o -name ".cvsignore" -o -name "\#*" -o -name ".\#*" -o -name "log" -o -name "*-SAVE" -o -name "*.orig" -o -name "*.rej" -o -name "*-darcs-backup*" \) -print | xargs "$(RM)" $(RM_OPTS) -r + cd $(SRC_DIST_DIR) && "$(FIND)" $(SRC_DIST_DIRS) \( -name _darcs -o -name SRC -o -name "autom4te*" -o -name "*~" -o -name ".cvsignore" -o -name "\#*" -o -name ".\#*" -o -name "log" -o -name "*-SAVE" -o -name "*.orig" -o -name "*.rej" -o -name "*-darcs-backup*" \) -print | "$(XARGS)" $(XARGS_OPTS) "$(RM)" $(RM_OPTS) -r .PHONY: sdist sdist : sdist-prep