adapt to the new async exceptions API
[ghc-hetmet.git] / ghc.mk
diff --git a/ghc.mk b/ghc.mk
index b070777..8e39842 100644 (file)
--- a/ghc.mk
+++ b/ghc.mk
@@ -43,7 +43,7 @@
 #     then we don't have to use -osuf/-hisuf.  We would have to install
 #     them in different places too, so we'd need ghc-pkg support for packages
 #     of different ways.
-#   * make PACKAGES generated by configure or sh boot?
+#   * make PACKAGES generated by './configure' or 'perl boot'?
 #   * we should use a directory of package.conf files rather than a single
 #     file for the inplace package database, so that we can express
 #     dependencies more accurately.  Otherwise it's possible to get into
@@ -327,6 +327,7 @@ $(eval $(call addPackage,process))
 $(eval $(call addPackage,random))
 $(eval $(call addPackage,extensible-exceptions))
 $(eval $(call addPackage,haskell98))
+$(eval $(call addPackage,haskell2010))
 $(eval $(call addPackage,hpc))
 $(eval $(call addPackage,pretty))
 $(eval $(call addPackage,template-haskell))
@@ -335,6 +336,7 @@ $(eval $(call addPackage,binary))
 $(eval $(call addPackage,bin-package-db))
 $(eval $(call addPackage,mtl))
 $(eval $(call addPackage,utf8-string))
+$(eval $(call addPackage,xhtml))
 
 $(eval $(call addPackage,terminfo,($$(Windows),NO)))
 
@@ -356,6 +358,8 @@ endif
 # so we don't have to include it below.
 BOOT_PKGS = Cabal hpc extensible-exceptions binary bin-package-db
 
+BOOT_PKG_CONSTRAINTS := $(foreach p,$(BOOT_PKGS),--constraint "$p == $(shell grep -i "^Version:" libraries/$p/$p.cabal | sed "s/[^0-9.]//g")")
+
 # The actual .a and .so/.dll files: needed for dependencies.
 ALL_STAGE1_LIBS  = $(foreach lib,$(PACKAGES),$(libraries/$(lib)_dist-install_v_LIB))
 ifeq "$(BuildSharedLibs)" "YES"
@@ -400,6 +404,7 @@ ghc/stage2/package-data.mk: compiler/stage2/package-data.mk
 # libraries
 utils/haddock/dist/package-data.mk: compiler/stage2/package-data.mk
 
+utils/ghc-pkg/dist-install/package-data.mk: compiler/stage2/package-data.mk
 utils/hsc2hs/dist-install/package-data.mk: compiler/stage2/package-data.mk
 utils/compare_sizes/dist/package-data.mk: compiler/stage2/package-data.mk
 
@@ -651,6 +656,12 @@ $(foreach pkg,$(PACKAGES_STAGE2),$(eval libraries/$(pkg)_dist-install_HC_OPTS +=
 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
@@ -874,7 +885,7 @@ INSTALLED_GHC_REAL=$(DESTDIR)$(bindir)/ghc.exe
 INSTALLED_GHC_PKG_REAL=$(DESTDIR)$(bindir)/ghc-pkg.exe
 endif
 
-INSTALLED_PACKAGES := $(filter-out haskeline mtl terminfo utf8-string,$(PACKAGES))
+INSTALLED_PACKAGES := $(filter-out haskeline mtl terminfo utf8-string xhtml,$(PACKAGES))
 ifeq "$(InstallExtraPackages)" "NO"
 INSTALLED_PACKAGES := $(filter-out $(EXTRA_PACKAGES), $(INSTALLED_PACKAGES))
 endif
@@ -907,7 +918,7 @@ install_packages: libffi/package.conf.install rts/package.conf.install
            "$(GHC_CABAL_INPLACE)" install \
                 "$(INSTALLED_GHC_REAL)" \
                 "$(INSTALLED_GHC_PKG_REAL)" \
-                "$(STRIP)" \
+                "$(STRIP_CMD)" \
                 "$(DESTDIR)$(topdir)" \
                 $p $(INSTALL_DISTDIR_$p) \
                 '$(DESTDIR)' '$(prefix)' '$(ghclibdir)' '$(docdir)/html/libraries' \
@@ -986,18 +997,18 @@ unix-binary-dist-prep:
        "$(RM)" $(RM_OPTS) $(BIN_DIST_PREP_TAR)
 # h means "follow symlinks", e.g. if aclocal.m4 is a symlink to a source
 # tree then we want to include the real file, not a symlink to it
-       cd bindistprep && "$(TAR)" hcf - -T ../$(BIN_DIST_LIST) | bzip2 -c > ../$(BIN_DIST_PREP_TAR_BZ2)
+       cd bindistprep && "$(TAR_CMD)" hcf - -T ../$(BIN_DIST_LIST) | bzip2 -c > ../$(BIN_DIST_PREP_TAR_BZ2)
 
 windows-binary-dist-prep:
        "$(RM)" $(RM_OPTS_REC) bindistprep/
        $(MAKE) prefix=$(TOP)/$(BIN_DIST_PREP_DIR) install
-       cd bindistprep && "$(TAR)" cf - $(BIN_DIST_NAME) | bzip2 -c > ../$(BIN_DIST_PREP_TAR_BZ2)
+       cd bindistprep && "$(TAR_CMD)" cf - $(BIN_DIST_NAME) | bzip2 -c > ../$(BIN_DIST_PREP_TAR_BZ2)
 
 windows-installer:
-ifeq "$(ISCC)" ""
-       @echo No ISCC, so not making installer
+ifeq "$(ISCC_CMD)" ""
+       @echo No ISCC_CMD, so not making installer
 else
-       "$(ISCC)" /O. /Fbindistprep/$(WINDOWS_INSTALLER_BASE) - < distrib/ghc.iss
+       "$(ISCC_CMD)" /O. /Fbindistprep/$(WINDOWS_INSTALLER_BASE) - < distrib/ghc.iss
 endif
 
 # tryTimes tries to run its third argument multiple times, until it
@@ -1101,7 +1112,7 @@ sdist-prep :
 
 .PHONY: sdist
 sdist : sdist-prep
-       "$(TAR)" chf - $(SRC_DIST_NAME) 2>$src_log | bzip2 >$(TOP)/$(SRC_DIST_TARBALL)
+       "$(TAR_CMD)" chf - $(SRC_DIST_NAME) 2>$src_log | bzip2 >$(TOP)/$(SRC_DIST_TARBALL)
 
 sdist-manifest : $(SRC_DIST_TARBALL)
        tar tjf $(SRC_DIST_TARBALL) | sed "s|^ghc-$(ProjectVersion)/||" | sort >sdist-manifest