X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc.mk;h=6259dbb50b0870b658c8a3afc61f870b8e16d992;hb=340fb6fe7e6d31f73e8610d7f6fa3984555470fb;hp=816efc6ead8608900448226f43f48e145d75ad22;hpb=0ef6ba7b28187a4bf5309f9702eeaf53a281204b;p=ghc-hetmet.git diff --git a/ghc.mk b/ghc.mk index 816efc6..6259dbb 100644 --- a/ghc.mk +++ b/ghc.mk @@ -12,24 +12,14 @@ # ToDo List. # -# Before we can merge the new build system into HEAD: -# # * finish installation # * other documentation # * create doc index and contents # * Windows: should we have ghc-pkg-? # * should we be stripping things? # * install libgmp.a, gmp.h -# * finish binary distributions # * need to fix Cabal for new Windows layout, see # Distribution/Simple/GHC.configureToolchain. -# -# Once the new build system is in HEAD, and before 6.12: -# -# * separate the logic of whether to do something from the test for -# existence of the tool to do it. For example, rather than checking -# if $DIR_DOCBOOK_XSL or $XSLTPROC is "", we should have a variable -# for controlling the building of the docs. # * remove old Makefiles, add new stubs for building in subdirs # * utils/hsc2hs/Makefile # * utils/haddock/Makefile @@ -45,7 +35,6 @@ # * GhcProfiled # * optionally install stage3? # * shared libraries, way dyn -# * get HC bootstrapping working # * add Makefiles for the rest of the utils/ programs that aren't built # by default (need to exclude them from 'make all' too) # @@ -777,13 +766,24 @@ binary-dist: "$(RM)" $(RM_OPTS) $(BIN_DIST_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 - "$(TAR)" hcf - -T $(BIN_DIST_LIST) | bzip2 -c >$(BIN_DIST_TAR_BZ2) + "$(TAR)" hcf - -T $(BIN_DIST_LIST) | bzip2 -c > $(BIN_DIST_TAR_BZ2) + +windows-binary-dist: + "$(RM)" $(RM_OPTS) -r $(BIN_DIST_NAME) + $(MAKE) prefix=$(BIN_DIST_DIR) install + "$(TAR)" cf - $(BIN_DIST_NAME) | bzip2 -c > $(BIN_DIST_TAR_BZ2) + +windows-installer: + "$(ISCC)" /O. /F$(WINDOWS_INSTALLER_BASE) - < distrib/ghc.iss nTimes = set -e; for i in `seq 1 $(1)`; do echo Try "$$i: $(2)"; if $(2); then break; fi; done .PHONY: publish-binary-dist publish-binary-dist: $(call nTimes,10,$(PublishCp) $(BIN_DIST_TAR_BZ2) $(PublishLocation)/dist) +ifeq "$(mingw32_TARGET_OS)" "1" + $(call nTimes,10,$(PublishCp) $(WINDOWS_INSTALLER) $(PublishLocation)/dist) +endif # ----------------------------------------------------------------------------- # Source distributions @@ -819,7 +819,7 @@ SRC_DIST_FILES += \ aclocal.m4 README ANNOUNCE HACKING LICENSE Makefile install-sh \ ghc.spec.in ghc.spec extra-gcc-opts.in VERSION boot ghc.mk -SRC_DIST_TARBALL = ghc-$(ProjectVersion)-src.tar.bz2 +SRC_DIST_TARBALL = $(SRC_DIST_NAME)-src.tar.bz2 VERSION : echo $(ProjectVersion) >VERSION @@ -842,7 +842,7 @@ sdist_file = \ .PHONY: sdist-prep sdist-prep : "$(RM)" $(RM_OPTS) -r $(SRC_DIST_DIR) - "$(RM)" $(SRC_DIST_NAME).tar.gz + "$(RM)" $(RM_OPTS) $(SRC_DIST_TARBALL) mkdir $(SRC_DIST_DIR) ( cd $(SRC_DIST_DIR) \ && for i in $(SRC_DIST_DIRS); do mkdir $$i; (cd $$i && lndir $(TOP)/$$i ); done \