- $(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
+# We use the a/b/c subdirectory as configure looks for install-sh in
+# . .. ../.. and we don't want it to find the build system's install-sh.
+#
+# NB. tar has funny interpretation of filenames sometimes (thinking
+# c:/foo is a remote file), so it's safer to bzip and then pipe into
+# tar rather than using tar -xjf:
+ cd a/b/c/ && bzip2 -cd ../../../$(BIN_DIST_TEST_TAR_BZ2) | $(TAR) -xf -
+ifeq "$(Windows)" "YES"
+ mv a/b/c/$(BIN_DIST_NAME) $(BIN_DIST_INST_DIR)
+else
+ cd a/b/c/$(BIN_DIST_NAME) && ./configure --prefix=$(BIN_DIST_INST_DIR)
+ cd a/b/c/$(BIN_DIST_NAME) && make install
+endif
+ $(BIN_DIST_INST_DIR)/bin/runghc HelloWorld > output
+ $(CONTEXT_DIFF) output expected_output
+ $(BIN_DIST_INST_DIR)/bin/ghc --make HelloWorld