-ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
-BinDistShScripts = ghc-$(ProjectVersion) ghci-$(ProjectVersion) ghc-pkg-$(ProjectVersion) hsc2hs
-else
-BinDistShScripts =
-endif
-
-BinDistPrlScripts = ghcprof
-BinDistLibPrlScripts = ghc-asm ghc-split
-BinDistBins = hp2ps runghc
-BinDistOptBins = runhaskell
-BinDistLinks = ghc ghci ghc-pkg
-BinDistLibSplicedFiles = package.conf
-BinDistDirs = includes compiler docs driver libraries rts utils
-
-BIN_DIST_NAME=ghc-$(ProjectVersion)
-BIN_DIST_TMPDIR=$(FPTOOLS_TOP_ABS)
-
-BIN_DIST_TARBALL=ghc-$(ProjectVersion)-$(TARGETPLATFORM).tar.bz2
-
-BIN_DIST_TOP= distrib/Makefile-bin.in \
- distrib/configure-bin.ac \
- distrib/INSTALL \
- distrib/README \
- ANNOUNCE \
- LICENSE \
- utils/mkdirhier/mkdirhier \
- install-sh \
- config.guess \
- config.sub \
- aclocal.m4
-
-ifeq "$(darwin_TARGET_OS)" "1"
-BIN_DIST_TOP+=mk/fix_install_names.sh
-endif
-
-.PHONY: binary-dist-pre binary-dist binary-pack
-
-binary-dist:: binary-dist-pre
-
-binary-dist-pre::
-ifeq "$(BIN_DIST)" ""
- @echo "WARNING: To run the binary-dist target, you need to set BIN_DIST=1 in mk/build.mk" && exit 1
-endif
- -rm -rf $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)
- -$(RM) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME).tar.gz
- @for i in $(BinDistDirs); do \
- if test -d "$$i"; then \
- echo $(MKDIRHIER) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM); \
- $(MKDIRHIER) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM); \
- echo $(MKDIRHIER) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM); \
- $(MKDIRHIER) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM); \
- echo $(MKDIRHIER) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/share; \
- $(MKDIRHIER) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/share; \
- echo $(MAKE) -C $$i $(MFLAGS) $(INSTALL_STAGE) install \
- prefix=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME) \
- exec_prefix=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME) \
- bindir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM) \
- libdir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM) \
- libexecdir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM) \
- datadir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/share; \
- $(MAKE) -C $$i $(MFLAGS) $(INSTALL_STAGE) install \
- prefix=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME) \
- exec_prefix=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME) \
- bindir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM) \
- libdir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM) \
- libexecdir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM) \
- datadir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/share; \
- fi; \
- done
-
-binary-dist::
- @for i in $(BIN_DIST_TOP); do \
- if test -f "$$i"; then \
- echo cp $$i $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME); \
- cp $$i $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME); \
- fi; \
- done;
- @echo "Configuring the Makefile for this project..."
- touch $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/Makefile.in
- echo "package = ghc" >> $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/Makefile.in
- echo "version = $(ProjectVersion)" >> $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/Makefile.in
- echo "PACKAGE_SH_SCRIPTS = $(BinDistShScripts)" >> $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/Makefile.in
- echo "PACKAGE_PRL_SCRIPTS = $(BinDistPrlScripts)" >> $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/Makefile.in
- echo "PACKAGE_LIB_PRL_SCRIPTS = $(BinDistLibPrlScripts)" >> $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/Makefile.in
- echo "PACKAGE_LIB_SPLICED_FILES = $(BinDistLibSplicedFiles)" >> $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/Makefile.in
- echo "PACKAGE_BINS = $(BinDistBins)" >> $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/Makefile.in
- echo "PACKAGE_OPT_BINS = $(BinDistOptBins)" >> $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/Makefile.in
- echo "PACKAGE_LINKS = $(BinDistLinks)" >> $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/Makefile.in
- cat $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/Makefile-bin.in >> $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/Makefile.in
- @echo "Generating a shippable configure script.."
- $(MV) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/configure-bin.ac $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/configure.ac
- ( cd $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME); autoconf )
-#
-# binary dist'ing the documentation.
-# The default documentation to build/install is given below; overrideable
-# via build.mk or the 'make' command-line.
-
-ifndef BINDIST_DOC_WAYS
-
-ifneq "$(XSLTPROC)" ""
-BINDIST_DOC_WAYS = html
-ifneq "$(FOP)" ""
-BINDIST_DOC_WAYS += ps pdf
-else
-ifneq "$(PDFXMLTEX)" ""
-BINDIST_DOC_WAYS += pdf
-endif
-ifneq "$(XMLTEX)" ""
-ifneq "$(DVIPS)" ""
-BINDIST_DOC_WAYS += ps
-endif # DVIPS
-endif # XMLTEX
-endif # FOP
-endif # XSLTPROC
-
-endif # BINDIST_DOC_WAYS
-
-binary-dist ::
-ifneq "$(DIR_DOCBOOK_XSL)" ""
- @for i in $(BinDistDirs); do \
- if test -d "$$i"; then \
- $(MAKE) -C $$i $(MFLAGS) $(BINDIST_DOC_WAYS); \
- echo $(MAKE) -C $$i $(MFLAGS) install-docs XMLDocWays="$(BINDIST_DOC_WAYS)" \
- prefix=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME) \
- exec_prefix=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME) \
- bindir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM) \
- libdir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM) \
- libexecdir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM) \
- datadir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/share; \
- $(MAKE) -C $$i $(MFLAGS) install-docs XMLDocWays="$(BINDIST_DOC_WAYS)" \
- prefix=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME) \
- exec_prefix=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME) \
- bindir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM) \
- libdir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM) \
- libexecdir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM) \
- datadir=$(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/share; \
- fi \
- done
-endif
-
-# Rename scripts to $i.prl and $i.sh where necessary.
-# ToDo: do this in a cleaner way...
-
-ifneq "$(BinDistPrlScripts)" ""
-binary-dist::
- @for i in $(BinDistPrlScripts); do \
- echo "Renaming $$i to $$i.prl"; \
- $(MV) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM)/$$i $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM)/$$i.prl; \
- done
-endif
-
-ifneq "$(BinDistLibPrlScripts)" ""
-binary-dist::
- @for i in $(BinDistLibPrlScripts); do \
- echo "Renaming $$i to $$i.prl"; \
- $(MV) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM)/$$i $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/lib/$(TARGETPLATFORM)/$$i.prl; \
- done
-endif
-
-ifneq "$(BinDistShScripts)" ""
-binary-dist::
- @for i in $(BinDistShScripts); do \
- if test -x $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM)/$$i ; then \
- echo "Renaming $$i to $$i.sh"; \
- $(MV) $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM)/$$i $(BIN_DIST_TMPDIR)/$(BIN_DIST_NAME)/bin/$(TARGETPLATFORM)/$$i.sh; \
- fi \
- done
-endif
-
-# Tar up the distribution and build a manifest
-binary-dist ::
- ( cd $(BIN_DIST_TMPDIR); tar cf - $(BIN_DIST_NAME) | bzip2 >$(BIN_DIST_TARBALL) )
- ( cd $(BIN_DIST_TMPDIR); bunzip2 -c $(BIN_DIST_TARBALL) | tar tf - | sed "s/^ghc-$(ProjectVersion)/fptools/" | sort >bin-manifest-$(ProjectVersion) )
-
-# Upload the distribution
-ifneq "$(PublishLocation)" ""
-binary-dist ::
- @for i in 0 1 2 3 4 5 6 7 8 9; do \
- echo "Try $$i: $(PublishCp) $(BIN_DIST_TARBALL) $(PublishLocation)"; \
- if $(PublishCp) $(BIN_DIST_TARBALL) $(PublishLocation); then break; fi\
- done
-endif
-
-binary-dist::
- @echo "Mechanical and super-natty! Inspect the result and *if* happy; freeze, sell and get some sleep!"
-
-# -----------------------------------------------------------------------------
-# Building source distributions
-#
-# Do it like this:
-#
-# $ make
-# $ make dist
-#
-# WARNING: `make dist' calls `make distclean' before tarring up the tree.
-#
-
-.PHONY: dist
-
-#
-# Directory in which we're going to build the src dist
-#
-SRC_DIST_NAME=ghc-$(ProjectVersion)
-SRC_DIST_DIR=$(shell pwd)/$(SRC_DIST_NAME)