diff --git a/Makefile b/Makefile index 6f38c13cf77936998506272044f460eab8cf2b8f..a5936f488feabd2a6236be5ebd59931fd0559c27 100644 --- a/Makefile +++ b/Makefile @@ -238,8 +238,6 @@ install-docs :: # binary-dist is a GHC addition for binary distributions # -BIN_DIST_TARBALL=ghc-$(ProjectVersion)-$(TARGETPLATFORM).tar.bz2 - binary-dist:: -rm -rf $(BIN_DIST_DIR) -$(RM) $(BIN_DIST_DIR).tar.gz @@ -564,6 +562,9 @@ MAINTAINER_CLEAN_FILES += VERSION extraclean:: $(RM) -rf autom4te.cache +clean distclean :: + $(MAKE) -C bindisttest $@ + # ----------------------------------------------------------------------------- # Turn off target.mk's rules for 'all', 'boot' and 'install'. diff --git a/bindisttest/HelloWorld.hs b/bindisttest/HelloWorld.hs new file mode 100644 index 0000000000000000000000000000000000000000..56e1e89994cdad42dd37b7a5f73dfafcab75fbc5 --- /dev/null +++ b/bindisttest/HelloWorld.hs @@ -0,0 +1,5 @@ + +module Main (main) where + +main :: IO () +main = putStr "Hello world!" diff --git a/bindisttest/Makefile b/bindisttest/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..d29c3d8b7ae67c89486c7cd01057ebf38a931a82 --- /dev/null +++ b/bindisttest/Makefile @@ -0,0 +1,32 @@ + +.PHONY: default_target + +default_target: all + +# Ideally we'd just include something to give us variables +# for paths and arguments to tools etc, and those set in mk/build.mk. +TOP=.. +include $(TOP)/mk/boilerplate.mk + +INST_DIR = $(FPTOOLS_TOP_ABS)/bindisttest/installed + +all: + $(RM) -rf installed + $(RM) -rf ghc* + $(RM) HelloWorld HelloWorld.o HelloWorld.hi output + $(TAR) -jxf $(BIN_DIST_TARBALL) + cd $(BIN_DIST_NAME) && ./configure --prefix=$(INST_DIR) + cd $(BIN_DIST_NAME) && make install + $(INST_DIR)/bin/ghc --make HelloWorld + ./HelloWorld > output + $(CONTEXT_DIFF) output expected_output + +clean distclean: + $(RM) -rf installed + $(RM) -rf ghc* + $(RM) HelloWorld HelloWorld.o HelloWorld.hi output + +# Ignore a load of other standard targets +install install-docs doc: + @: + diff --git a/bindisttest/expected_output b/bindisttest/expected_output new file mode 100644 index 0000000000000000000000000000000000000000..6769dd60bdf536a83c9353272157893043e9f7d0 --- /dev/null +++ b/bindisttest/expected_output @@ -0,0 +1 @@ +Hello world! \ No newline at end of file diff --git a/mk/config.mk.in b/mk/config.mk.in index 0feecbd7f76c23796379a2596309a7c5204372b8..741abd3c9cce1e28eba217773b63fe52bfae2ff3 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -507,6 +507,7 @@ FPTOOLS_TOP_ABS_PLATFORM = @hardtop_plat@ BIN_DIST_NAME=ghc-$(ProjectVersion) BIN_DIST_TOPDIR=$(FPTOOLS_TOP_ABS) BIN_DIST_DIR=$(BIN_DIST_TOPDIR)/$(BIN_DIST_NAME) +BIN_DIST_TARBALL=$(BIN_DIST_TOPDIR)/$(BIN_DIST_NAME)-$(TARGETPLATFORM).tar.bz2 # # Installation directories, we don't use half of these,