endif
# -----------------------------------------------------------------------------
+# Utility definitions
+
+include rules/make-command.mk
+
+# -----------------------------------------------------------------------------
# Macros for standard targets
include rules/all-target.mk
$(foreach pkg,$(EXTRA_PACKAGES),$(eval $(call addPackage,$(pkg))))
ifneq "$(BootingFromHc)" "YES"
+
+ifneq "$(GhcProfiled)" "YES"
+# DPH uses Template Haskell, and Template Haskell doesn't work
+# with a profiled compiler. So if stage-2 is profile, don't build DPH
PACKAGES_STAGE2 += \
dph/dph-base \
dph/dph-prim-interface \
dph/dph-seq \
dph/dph-par
endif
+endif
# We assume that the stage0 compiler has a suitable bytestring package,
# so we don't have to include it below.
driver \
driver/ghci \
driver/ghc \
+ driver/haddock \
libffi \
includes \
rts
$(GHC_GENAPPLY_DIR)
endif
-ifneq "$(HADDOCK_DOCS)" "NO"
BUILD_DIRS += \
utils/haddock \
utils/haddock/doc
-endif
ifneq "$(CLEANING)" "YES"
BUILD_DIRS += \
# Add $(GhcLibHcOpts) to all library builds
$(foreach pkg,$(PACKAGES) $(PACKAGES_STAGE2),$(eval libraries/$(pkg)_dist-install_HC_OPTS += $$(GhcLibHcOpts)))
-# XXX Hack; remove this
-# Use -Wwarn for dph
-$(foreach pkg,$(PACKAGES_STAGE2),$(eval libraries/$(pkg)_dist-install_HC_OPTS += -Wwarn))
-
-# XXX Hack; remove this
-# Use -Wwarn for 'binary' becuase it has redundant UNPACK pragmas
-libraries/binary_dist-install_HC_OPTS += -Wwarn
-libraries/binary_dist-boot_HC_OPTS += -Wwarn
-
-# XXX hack: xhtml has warnings
-libraries/xhtml_dist-install_HC_OPTS += -Wwarn
-
-# XXX hack: haskeline has warnings about deprecated use of block/unblock
-libraries/haskeline_dist-install_HC_OPTS += -Wwarn
-
# ----------------------------------------------
# A useful pseudo-target
.PHONY: stage1_libs
$(INSTALL_DIR) "$(INSTALLED_PACKAGE_CONF)"
"$(INSTALLED_GHC_PKG_REAL)" --force --global-conf "$(INSTALLED_PACKAGE_CONF)" update libffi/package.conf.install
"$(INSTALLED_GHC_PKG_REAL)" --force --global-conf "$(INSTALLED_PACKAGE_CONF)" update rts/package.conf.install
- $(foreach p, $(ALL_INSTALLED_PACKAGES),\
- "$(GHC_CABAL_INPLACE)" install \
- "$(INSTALLED_GHC_REAL)" \
- "$(INSTALLED_GHC_PKG_REAL)" \
- "$(STRIP_CMD)" \
- "$(DESTDIR)$(topdir)" \
- $p $(INSTALL_DISTDIR_$p) \
- '$(DESTDIR)' '$(prefix)' '$(ghclibdir)' '$(docdir)/html/libraries' \
- $(RelocatableBuild) &&) true
- $(foreach p, $(HIDDEN_PACKAGES),\
- "$(INSTALLED_GHC_PKG_REAL)" --global-conf "$(INSTALLED_PACKAGE_CONF)" \
- hide $p &&) true
+ $(foreach p, $(ALL_INSTALLED_PACKAGES), \
+ $(call make-command, \
+ "$(GHC_CABAL_INPLACE)" install \
+ "$(INSTALLED_GHC_REAL)" \
+ "$(INSTALLED_GHC_PKG_REAL)" \
+ "$(STRIP_CMD)" \
+ "$(DESTDIR)$(topdir)" \
+ $p $(INSTALL_DISTDIR_$p) \
+ '$(DESTDIR)' \
+ '$(prefix)' \
+ '$(ghclibdir)' \
+ '$(docdir)/html/libraries' \
+ $(RelocatableBuild)))
+ $(foreach p, $(HIDDEN_PACKAGES), \
+ $(call make-command, \
+ "$(INSTALLED_GHC_PKG_REAL)" \
+ --global-conf "$(INSTALLED_PACKAGE_CONF)" hide $p))
# -----------------------------------------------------------------------------
# Binary distributions