summaryrefslogtreecommitdiff
path: root/testsuite/tests/ghc-regress/driver/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/ghc-regress/driver/Makefile')
-rw-r--r--testsuite/tests/ghc-regress/driver/Makefile487
1 files changed, 0 insertions, 487 deletions
diff --git a/testsuite/tests/ghc-regress/driver/Makefile b/testsuite/tests/ghc-regress/driver/Makefile
deleted file mode 100644
index cb64ea675a..0000000000
--- a/testsuite/tests/ghc-regress/driver/Makefile
+++ /dev/null
@@ -1,487 +0,0 @@
-TOP=../../..
-include $(TOP)/mk/boilerplate.mk
-include $(TOP)/mk/test.mk
-
-# A set of driver tests
-
-# Things to test:
-#
-# - one-shot vs. --make
-# - hierarchical vs. flat
-# - -odir vs. no -odir
-# - -hidir vs. no -hidir
-# - root module vs. found modules
-
-OBJSUFFIX = .o
-
-# -----------------------------------------------------------------------------
-# One-shot compilations, non-hierarchical modules
-
-test011:
- $(RM) A011.hi
- $(RM) A011$(OBJSUFFIX)
- "$(TEST_HC)" $(TEST_HC_OPTS) $(TEST_HC_OPTS) -c A011.hs
- test -f A011.hi
- test -f A011$(OBJSUFFIX)
-
-# test -o
-test012:
- $(RM) A012.hi
- $(RM) A012$(OBJSUFFIX)oo
- "$(TEST_HC)" $(TEST_HC_OPTS) -c A012.hs -o A012$(OBJSUFFIX)oo
- test -f A012$(OBJSUFFIX)oo
-
-# test -ohi
-test013:
- $(RM) A013.xhi
- $(RM) A013$(OBJSUFFIX)
- "$(TEST_HC)" $(TEST_HC_OPTS) -c A013.hs -ohi A013.xhi
- test -f A013.xhi
-
-# test -odir
-test014:
- $(RM) -f A014.hi
- $(RM) -rf obj014
- mkdir obj014
- "$(TEST_HC)" $(TEST_HC_OPTS) -c A014.hs -odir obj014
- test -f obj014/A014$(OBJSUFFIX)
- test -f A014.hi
-
-# test -hidir
-test015:
- $(RM) -f A015$(OBJSUFFIX)
- $(RM) -rf hi015
- mkdir hi015
- "$(TEST_HC)" $(TEST_HC_OPTS) -c A015.hs -hidir hi015
- test -f A015$(OBJSUFFIX)
- test -f hi015/A015.hi
-
-# test stub generation
-test016:
- $(RM) F016.hi F016$(OBJSUFFIX) F016_stub.h
- "$(TEST_HC)" $(TEST_HC_OPTS) -c F016.hs
- test -f F016_stub.h
-
-# test -stubdir (filename differs from module name)
-test017:
- $(RM) F017.hi F017$(OBJSUFFIX)
- "$(TEST_HC)" $(TEST_HC_OPTS) -c F017.hs -stubdir stub017
- test -f stub017/TestStub017_stub.h
-
-# test -odir with stubs (filename differs from module name)
-test018:
- $(RM) -f F018.hi F018$(OBJSUFFIX) F018_stub.h
- $(RM) -rf obj018
- mkdir obj018
- "$(TEST_HC)" $(TEST_HC_OPTS) -c F018.hs -odir obj018
-
-# test for bug #3093
-test018a:
- $(RM) -f F018a.hi F018a_stub.h *.obj.018
- "$(TEST_HC)" $(TEST_HC_OPTS) -c F018a.hs -osuf obj.018
- test -f F018a.obj.018
-
-# test -outputdir
-test019:
- $(RM) -rf out019
- "$(TEST_HC)" $(TEST_HC_OPTS) -c F019.hs -outputdir out019
- test -f out019/TestStub019.hi
- test -f out019/TestStub019_stub.h
-
-# -----------------------------------------------------------------------------
-# One-shot compilation, hierarchical modules
-
-test021:
- $(RM) B021/C.hi
- $(RM) B021/C$(OBJSUFFIX)
- "$(TEST_HC)" $(TEST_HC_OPTS) -c B021/C.hs
- test -f B021/C.hi
- test -f B021/C$(OBJSUFFIX)
-
-# test -o
-test022:
- $(RM) B022/C.hi
- $(RM) B022/C$(OBJSUFFIX)oo
- "$(TEST_HC)" $(TEST_HC_OPTS) -c B022/C.hs -o B022/C$(OBJSUFFIX)oo
- test -f B022/C$(OBJSUFFIX)oo
-
-# test -ohi
-test023:
- $(RM) B023/C.xhi
- $(RM) B023/C$(OBJSUFFIX)
- "$(TEST_HC)" $(TEST_HC_OPTS) -c B023/C.hs -ohi B023/C.xhi
- test -f B023/C.xhi
-
-# test -odir
-test024:
- $(RM) -f B024/C.hi
- $(RM) -rf obj024
- mkdir obj024
- "$(TEST_HC)" $(TEST_HC_OPTS) -c B024/C.hs -odir obj024
- test -f obj024/B024/C$(OBJSUFFIX)
-
-# test -odir with non-Haskell compilation
-test024a:
- $(RM) -rf B024a
- $(RM) -rf obj024a
- mkdir B024a
- mkdir obj024a
- echo >B024a/stub.c
- "$(TEST_HC)" $(TEST_HC_OPTS) -c B024a/stub.c -odir obj024a
- test -f obj024a/B024a/stub$(OBJSUFFIX)
-
-# test -hidir
-test025:
- $(RM) -rf hi025
- mkdir hi025
- $(RM) B025/C$(OBJSUFFIX)
- "$(TEST_HC)" $(TEST_HC_OPTS) -c B025/C.hs -hidir hi025
- test -f hi025/B025/C.hi
-
-# This is a hierarchical module that lives in a subdirectory.
-test026:
- $(RM) d026/P/Q.hi
- $(RM) d026/P/Q$(OBJSUFFIX)
- "$(TEST_HC)" $(TEST_HC_OPTS) -c d026/P/Q.hs
- test -f d026/P/Q.hi
- test -f d026/P/Q$(OBJSUFFIX)
-
-# test stub generation
-# -fvia-C, because we want to check that the .hc file can #include the stub.h
-test027:
- $(RM) B027/F.hi B027/F$(OBJSUFFIX) B027/F_stub.h
- "$(TEST_HC)" $(TEST_HC_OPTS) -c B027/F.hs -fno-warn-deprecated-flags -fvia-C
- test -f B027/F_stub.h
-
-# test -stubdir
-# -fvia-C, because we want to check that the .hc file can #include the stub.h
-test028:
- $(RM) B028/F.hi B028/F$(OBJSUFFIX)
- $(RM) stub028/B028/F_stub.h
- "$(TEST_HC)" $(TEST_HC_OPTS) -c B028/F.hs -stubdir stub028 -fno-warn-deprecated-flags -fvia-C
- test -f stub028/B028/F_stub.h
-
-# -----------------------------------------------------------------------------
-# Compilation-manager compilations, flat modules
-
-test031:
- $(RM) A031.hi
- $(RM) A031$(OBJSUFFIX)
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make A031.hs
- test -f A031.hi
- test -f A031$(OBJSUFFIX)
-
-# test -odir
-test032:
- $(RM) A032.hi
- $(RM) -rf obj032
- mkdir obj032
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make A032.hs -odir obj032
- test -f obj032/A032$(OBJSUFFIX)
-
-# test -hidir
-test033:
- $(RM) -rf hi033
- $(RM) A033$(OBJSUFFIX)
- mkdir hi033
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make A033.hs -hidir hi033
- test -f hi033/A033.hi
-
-# test stub generation
-test034:
- $(RM) F034.hi F034$(OBJSUFFIX) F034_stub.h
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make F034.hs
- test -f F034_stub.h
-
-# test -stubdir (filename differs from module name)
-test035:
- $(RM) F035.hi F$(OBJSUFFIX) stub035/Stubs_stub.h
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make F035.hs -stubdir stub035
- test -f stub035/TestStub035_stub.h
-
-# -----------------------------------------------------------------------------
-# Compilation-manager compilations, hierarchical modules
-
-test041:
- $(RM) B041/C.hi
- $(RM) B041/C$(OBJSUFFIX)
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make B041/C.hs
- test -f B041/C.hi
- test -f B041/C$(OBJSUFFIX)
-
-# test -odir
-test042:
- $(RM) -rf obj042
- mkdir obj042
- $(RM) B042/C.hi
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make B042/C.hs -odir obj042
- test -f obj042/B042/C$(OBJSUFFIX)
-
-# test -hidir
-test043:
- $(RM) -f B043/C$(OBJSUFFIX)
- $(RM) -rf hi043
- mkdir hi043
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make B043/C.hs -hidir hi043
- test -f hi043/B043/C.hi
-
-# test stub generation
-test044:
- $(RM) B044/F.hi B044/F$(OBJSUFFIX) B044/F_stub.h
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make B044/F.hs
- test -f B044/F_stub.h
-
-# test -stubdir
-test045:
- $(RM) B045/F.hi B045/F$(OBJSUFFIX)
- $(RM) stub045/B045/F_stub.h
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make B045/F.hs -stubdir stub045
- test -f stub045/B045/F_stub.h
-
-# -----------------------------------------------------------------------------
-# Compilation-manager compilations, hierarchical modules, non-root modules
-
-test051:
- $(RM) d051_2/R/S.hi
- $(RM) d051_2/R/S$(OBJSUFFIX)
- $(RM) d051_1/P/Q.hi
- $(RM) d051_1/P/Q$(OBJSUFFIX)
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make -id051_1 -id051_2 R.S
- test -f d051_2/R/S.hi
- test -f d051_2/R/S$(OBJSUFFIX)
- test -f d051_1/P/Q.hi
- test -f d051_1/P/Q$(OBJSUFFIX)
-
-# test -odir
-test052:
- $(RM) d052_2/R/S.hi
- $(RM) d052_1/P/Q.hi
- $(RM) -rf obj052
- mkdir obj052
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make -id052_1 -id052_2 -odir obj052 R.S
- test -f d052_2/R/S.hi
- test -f obj052/R/S$(OBJSUFFIX)
- test -f d052_1/P/Q.hi
- test -f obj052/P/Q$(OBJSUFFIX)
-
-# test -hidir
-test053:
- $(RM) hi053/R/S.hi
- $(RM) d053_2/R/S$(OBJSUFFIX)
- $(RM) hi053/P/Q.hi
- $(RM) d053_1/P/Q$(OBJSUFFIX)
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make -id053_1 -id053_2 -hidir hi053 R.S
- test -f hi053/R/S.hi
- test -f d053_2/R/S$(OBJSUFFIX)
- test -f hi053/P/Q.hi
- test -f d053_1/P/Q$(OBJSUFFIX)
-
-# -----------------------------------------------------------------------------
-# Other tests
-
-# Test that -keep-s-files works with --make and -fvia-C
-test061a:
- $(RM) A061a.hi A061a$(OBJSUFFIX) A061a.s
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make -keep-s-files -fno-warn-deprecated-flags -fvia-C A061a.hs
- test -f A061a.s
-
-# Test that -keep-s-files works without --make
-test061b:
- $(RM) A061b.hi A061b$(OBJSUFFIX) A061b.s
- "$(TEST_HC)" $(TEST_HC_OPTS) -c -keep-s-files -fno-warn-deprecated-flags -fvia-C A061b.hs
- test -f A061b.s
-
-# Test that -main-is works with --make
-test062a:
- $(RM) Hello062a.hs Hello062a.hi Hello062a$(OBJSUFFIX) Hello062a.hc hello062a
- echo "module Hello062a where { hello062a = putStrLn \"ok\" }" >Hello062a.hs
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make -main-is Hello062a.hello062a Hello062a -o hello062a
- ./hello062a
-test062b:
- $(RM) Hello062b.hs Hello062b.hi Hello062b$(OBJSUFFIX) Hello062b.hc hello062b
- echo "module Hello062b where { main = putStrLn \"ok\" }" >Hello062b.hs
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make -main-is Hello062b Hello062b -o hello062b
- ./hello062b
-test062c:
- $(RM) Hello062c.hs Hello062c.hi Hello062c$(OBJSUFFIX) Hello062c.hc hello062c
- echo "module Main (hello062c) where { hello062c = putStrLn \"ok\" }" >Hello062c.hs
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make -main-is hello062c Hello062c.hs -o hello062c
- ./hello062c
-test062d:
- $(RM) -rf B062d
- $(RM) hello062d
- mkdir B062d
- echo "module B062d.Hello062d (hello062d) where { hello062d = putStrLn \"ok\" }" >B062d/Hello062d.hs
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make -main-is B062d.Hello062d.hello062d B062d/Hello062d.hs -o hello062d
- ./hello062d
-test062e:
- $(RM) -rf B062e
- $(RM) Hello062e.hc hello062e
- mkdir B062e
- echo "module B062e.Hello062e (main) where { main = putStrLn \"ok\" }" >B062e/Hello062e.hs
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make -main-is B062e.Hello062e B062e/Hello062e.hs -o hello062e
- ./hello062e
-
-# Test that -i deletes the list of search paths.
-# The compilation will fail, but we ignore the failure and just
-# compare the output, because make might give us a different exit code.
-test063:
- $(RM) A063.hi A063$(OBJSUFFIX) A063.hc D063.hi D063$(OBJSUFFIX) D063.hc
- -"$(TEST_HC)" $(TEST_HC_OPTS) --make -i -v0 D063.hs
-
-# Test -E
-test064:
- $(RM) A064.hi A064.hspp
- "$(TEST_HC)" $(TEST_HC_OPTS) -E A064.hs
- test -f A064.hspp
-
-# Test -E/-cpp
-test065:
- $(RM) A065.hi A065.hspp
- "$(TEST_HC)" $(TEST_HC_OPTS) -E -cpp A065.hs
- test -f A065.hspp
-
-# Test -E/-o
-test066:
- $(RM) A066.hi A066.tmp
- "$(TEST_HC)" $(TEST_HC_OPTS) -E A066.hs -o A066.tmp
- test -f A066.tmp
-
-# Test -E/-cpp/-o
-test067:
- $(RM) A067.hi A067.tmp
- "$(TEST_HC)" $(TEST_HC_OPTS) -cpp -E A067.hs -o A067.tmp
- test -f A067.tmp
-
-# Test -S
-test070:
- $(RM) A070.hi A070.s
- "$(TEST_HC)" $(TEST_HC_OPTS) -S A070.hs
- test -f A070.s
-
-# Test -S/-o
-test071:
- $(RM) A071.hi A071.tmp
- "$(TEST_HC)" $(TEST_HC_OPTS) -S A071.hs -o A071.tmp
- test -f A071.tmp
-
-
-# Tests for #2248, -o and .exe
-
-define test081
-$(RM) $(1).hs $(1).hi $(1)$(OBJSUFFIX) $(1).hc $(1)$(exeext)
-echo "module Main where { main = putStrLn \"ok\" }" >$(1).hs
-"$(TEST_HC)" $(TEST_HC_OPTS) --make -v0 $(1).hs
-test -f $(1)$(exeext)
-endef
-
-test081a:
- $(call test081, Test_081a)
-test081b:
- $(call test081, Test.081b)
-
-# -----------------------------------------------------------------------------
-# --make tests
-
-# Test for overlap between home module and package module
-test100:
- $(RM) overlap/List.hi overlap/List.o
- $(RM) overlap/Overlap.hi overlap/Overlap.o
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make -ioverlap Overlap
-
-# -----------------------------------------------------------------------------
-# dependency-generation tests
-
-DEPFILE200 = depend200
-
-# Test that we can create a dependency file, and that we can
-# modify an existing dependency file.
-test200:
- $(RM) $(DEPFILE200)
- "$(TEST_HC)" $(TEST_HC_OPTS) -M -dep-makefile $(DEPFILE200) D200
- test -f $(DEPFILE200)
- "$(TEST_HC)" $(TEST_HC_OPTS) -M -dep-makefile $(DEPFILE200) D200 B200.C A200
- test -f $(DEPFILE200)
- "$(TEST_HC)" $(TEST_HC_OPTS) -M -dep-makefile $(DEPFILE200) D200.hs B200/C.hs A200.hs
- test -f $(DEPFILE200)
-
-# -----------------------------------------------------------------------------
-
-2566::
- if "$(TEST_HC)" $(TEST_HC_OPTS) -c foo2566.bar; then false else true; fi
-
-.PHONY: mode001
-# We use
-# sed '2,$$d'
-# rather than
-# head -1
-# as the latter gives
-# ghc: <stdout>: hFlush: resource vanished (Broken pipe)
-# on OS X
-mode001:
- "$(TEST_HC)" $(TEST_HC_OPTS) --make --help | sed '2,$$d'
- "$(TEST_HC)" $(TEST_HC_OPTS) --help --make | sed '2,$$d'
- "$(TEST_HC)" $(TEST_HC_OPTS) --interactive --help | sed '2,$$d'
- "$(TEST_HC)" $(TEST_HC_OPTS) --help --interactive | sed '2,$$d'
- "$(TEST_HC)" $(TEST_HC_OPTS) --version --help | sed "s/, version.*//"
- "$(TEST_HC)" $(TEST_HC_OPTS) --help --version | sed '2,$$d'
- "$(TEST_HC)" $(TEST_HC_OPTS) --interactive --version | sed "s/, version.*//"
- "$(TEST_HC)" $(TEST_HC_OPTS) --version --interactive | sed "s/, version.*//"
-
-# Test for building DLLs with ghc -shared, see #2745
-shared001:
- $(RM) Shared001.hi Shared001.o HSdll.dll.a HSdll.dll Shared001_stub.*
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 -shared Shared001.hs
-
-# -----------------------------------------------------------------------------
-
-3674:
- $(RM) 3674*.o 3674*.hi 3674_pre
- "$(TEST_HC)" $(TEST_HC_OPTS) --make 3674_pre.hs
- "$(TEST_HC)" $(TEST_HC_OPTS) --make 3674.hs
-
-.PHONY: rtsopts001
-rtsopts001:
- $(RM) rtsOpts$(exeext) rtsOpts.hi rtsOpts.o
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make rtsOpts -rtsopts
- echo "Normal"
- -./rtsOpts +RTS -C0 2>&1
- $(RM) rtsOpts$(exeext) rtsOpts.hi rtsOpts.o
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make rtsOpts
- echo "No RTS opts"
- -./rtsOpts +RTS -C0 2>&1
-
-.PHONY: rtsopts002
-rtsopts002:
- $(RM) rtsopts002$(exeext) rtsopts002.hi rtsopts002.o
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make rtsopts002 -rtsopts=some
- ./rtsopts002
- ./rtsopts002 +RTS --info >/dev/null
- if ./rtsopts002 +RTS -C0; then exit 1; else exit 0; fi
- GHCRTS= ./rtsopts002
- GHCRTS=--info ./rtsopts002 >/dev/null
- if GHCRTS=-C0 ./rtsopts002; then exit 1; else exit 0; fi
-
-.PHONY: withRtsOpts
-withRtsOpts:
- $(RM) withRtsOpts$(exeext) withRtsOpts.hi withRtsOpts.o withRtsOpts.out
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make withRtsOpts -with-rtsopts=--info
- ./withRtsOpts | head -1
- # Also test for non-safe RTS opts, these should be allowed too,
- # since the author has explicitly requested them. (#5114)
- $(RM) withRtsOpts$(exeext) withRtsOpts.hi withRtsOpts.o withRtsOpts.out
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 --make withRtsOpts -with-rtsopts=-twithRtsOpts.out
- ./withRtsOpts | head -1
- test -f withRtsOpts.out
-
-.PHONY: T3364
-T3364:
- -"$(TEST_HC)" $(TEST_HC_OPTS) -H
-
-.PHONY: T706
-T706:
- cp T706a.hs T706.hs
- "$(TEST_HC)" $(TEST_HC_OPTS) -c T706.hs
- cp T706b.hs T706.hs
- "$(TEST_HC)" $(TEST_HC_OPTS) -c T706.hs
- echo "test" | "$(TEST_HC)" $(TEST_HC_OPTS) --interactive -ignore-dot-ghci -v0 T706