fix haddock submodule pointer
[ghc-hetmet.git] / utils / Makefile
index ab7f6ba..e522c32 100644 (file)
@@ -29,7 +29,6 @@ endif
 # Utils that are old and/or bitrotted:
 #      stat2resid
 #      debugNCG
-#      ext-core
 #      genargs
 #      heap-view
 #      pvm
@@ -50,9 +49,18 @@ boot ::
        $(MAKE) -C genprimopcode
 endif
 
+############################################
+
+# The utils may be built with the bootstrapping compiler, for use during
+# the build, or with the stage2 compiler, for installing. Some of them
+# are built with both; we can't install the utils built with the
+# bootstrapping compiler as they may use different versions of C
+# libraries. The reason we use stage2 rather than stage1 is that some
+# utils, e.g. haddock, need the GHC API package.
+
 WITH_BOOTSTRAPPING_COMPILER = installPackage ghc-pkg hsc2hs hpc
 
-WITH_STAGE2 = installPackage ghc-pkg hasktags runghc hpc pwd haddock
+WITH_STAGE2 = installPackage ghc-pkg runghc hpc pwd haddock
 ifneq "$(NO_INSTALL_HSC2HS)" "YES"
 WITH_STAGE2 += hsc2hs
 endif
@@ -60,6 +68,11 @@ endif
 # sort removes duplicates - we don't actually care about the order
 WITH_EITHER = $(sort $(WITH_BOOTSTRAPPING_COMPILER) $(WITH_STAGE2))
 
+# We need to build pwd with stage 2, as it goes in bindists, but we
+# don't actually want to install it. Likewise the installPackage
+# program.
+DO_NOT_INSTALL = pwd installPackage
+
 binary-dist: $(foreach P,$(WITH_STAGE2),binary-dist.$P)
 ifeq "$(WHERE_AM_I)" ""
        echo "I don't know where I am" >&2
@@ -78,7 +91,7 @@ with-bootstrapping-compiler: \
 with-stage-2: $(foreach P,$(WITH_STAGE2),with-stage-2.$P)
        $(MAKE) -C haddock install-inplace
 
-install:: $(foreach P,$(WITH_STAGE2),install.$P)
+install:: $(foreach P,$(filter-out $(DO_NOT_INSTALL),$(WITH_STAGE2)),install.$P)
 
 $(foreach P,$(WITH_EITHER),clean.$P): \
 clean.%: