Use -W, not -Werror, for gcc older than 3.4
[ghc-hetmet.git] / ghc.mk
diff --git a/ghc.mk b/ghc.mk
index 56af0ee..9ce17a3 100644 (file)
--- a/ghc.mk
+++ b/ghc.mk
@@ -140,9 +140,6 @@ endif
 include rules/all-target.mk
 include rules/clean-target.mk
 
-# Helper macro
-include rules/mkdep.mk
-
 # -----------------------------------------------------------------------------
 # The inplace tree
 
@@ -600,10 +597,12 @@ libraries/base3-compat_dist-install_HC_OPTS += -XPackageImports
 .PHONY: stage1_libs
 stage1_libs : $(ALL_STAGE1_LIBS)
 
+ifeq "$(HADDOCK_DOCS)" "YES"
 libraries/index.html: $(ALL_HADDOCK_FILES)
        cd libraries && sh gen_contents_index --inplace
 $(eval $(call all-target,library_doc_index,libraries/index.html))
 INSTALL_LIBRARY_DOCS += libraries/*.html libraries/*.gif libraries/*.css libraries/*.js
+endif
 
 ifeq "$(CHECK_PACKAGES)" "YES"
 all: check_packages
@@ -697,7 +696,8 @@ libraries/ghc-prim/dist-install/build/autogen/GHC/PrimopWrappers.hs: \
 # Installation
 
 install: install_packages install_libs install_libexecs install_headers \
-         install_libexec_scripts install_bins install_docs install_topdirs
+         install_libexec_scripts install_bins install_docs \
+                install_topdirs install_topdir_scripts
 
 install_bins: $(INSTALL_BINS)
        $(INSTALL_DIR) $(DESTDIR)$(bindir)
@@ -739,6 +739,12 @@ install_libexecs:  $(INSTALL_LIBEXECS)
                $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i $(DESTDIR)$(ghclibexecdir); \
        done
 
+install_topdir_scripts: $(INSTALL_TOPDIR_SCRIPTS)
+       $(INSTALL_DIR) $(DESTDIR)$(topdir)
+       for i in $(INSTALL_TOPDIR_SCRIPTS); do \
+               $(INSTALL_SCRIPT) $(INSTALL_OPTS) $$i $(DESTDIR)$(topdir); \
+       done
+
 install_topdirs: $(INSTALL_TOPDIRS)
        $(INSTALL_DIR) $(DESTDIR)$(topdir)
        for i in $(INSTALL_TOPDIRS); do \
@@ -771,8 +777,10 @@ INSTALLED_PACKAGE_CONF=$(DESTDIR)$(topdir)/package.conf
 # 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_PKG_REAL=$(DESTDIR)$(ghclibexecdir)/ghc-pkg
 else
+INSTALLED_GHC_REAL=$(DESTDIR)$(bindir)/ghc-stage2.exe
 INSTALLED_GHC_PKG_REAL=$(DESTDIR)$(bindir)/ghc-pkg.exe
 endif
 
@@ -786,21 +794,22 @@ install_packages: libffi/package.conf.install rts/package.conf.install
        "$(INSTALLED_GHC_PKG_REAL)" --force --global-conf $(INSTALLED_PACKAGE_CONF) update rts/package.conf.install
        $(foreach p, $(PACKAGES) $(PACKAGES_STAGE2),\
            "$(GHC_CABAL_INPLACE)" install \
+                $(INSTALLED_GHC_REAL) \
                 $(INSTALLED_GHC_PKG_REAL) \
-                $(INSTALLED_PACKAGE_CONF) \
+                $(DESTDIR)$(topdir) \
                 libraries/$p dist-install \
                 '$(DESTDIR)' '$(prefix)' '$(ghclibdir)' '$(docdir)/html/libraries' &&) true
        "$(GHC_CABAL_INPLACE)" install \
+                $(INSTALLED_GHC_REAL) \
                 $(INSTALLED_GHC_PKG_REAL) \
-                $(INSTALLED_PACKAGE_CONF) \
+                $(DESTDIR)$(topdir) \
                 compiler stage2 \
                 '$(DESTDIR)' '$(prefix)' '$(ghclibdir)' '$(docdir)/html/libraries'
 
 # -----------------------------------------------------------------------------
 # Binary distributions
 
-# This is split in 2 because of the shell argument limit
-$(eval $(call bindist,root1,\
+$(eval $(call bindist,.,\
     LICENSE \
     configure config.sub config.guess install-sh \
     extra-gcc-opts.in \
@@ -817,11 +826,10 @@ $(eval $(call bindist,root1,\
     $(INSTALL_LIBEXECS) \
     $(INSTALL_LIBEXEC_SCRIPTS) \
     $(INSTALL_TOPDIRS) \
+    $(INSTALL_TOPDIR_SCRIPTS) \
     $(INSTALL_BINS) \
     $(INSTALL_DOCS) \
     $(INSTALL_LIBRARY_DOCS) \
- ))
-$(eval $(call bindist,root2,\
     $(addsuffix /*,$(INSTALL_HTML_DOC_DIRS)) \
        docs/index.html \
        $(wildcard libraries/*/dist-install/doc/) \
@@ -970,7 +978,7 @@ publish-sdist :
        $(call nTimes,10,$(PublishCp) $(SRC_DIST_TARBALL) $(PublishLocation)/dist)
 endif
 
-ifeq "$(GhcUnregisterised)" "YES"
+ifeq "$(BootingFromUnregisterisedHc)" "YES"
 SRC_CC_OPTS += -DNO_REGS -DUSE_MINIINTERPRETER -D__GLASGOW_HASKELL__=$(ProjectVersionInt)
 endif