diff options
Diffstat (limited to 'testsuite/tests/driver/dynamicToo/Makefile')
-rw-r--r-- | testsuite/tests/driver/dynamicToo/Makefile | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/testsuite/tests/driver/dynamicToo/Makefile b/testsuite/tests/driver/dynamicToo/Makefile index b1eab7ef30..33b6a5a9cb 100644 --- a/testsuite/tests/driver/dynamicToo/Makefile +++ b/testsuite/tests/driver/dynamicToo/Makefile @@ -3,6 +3,7 @@ include $(TOP)/mk/boilerplate.mk include $(TOP)/mk/test.mk checkExists = [ -f $1 ] || echo $1 missing +checkMissing = [ ! -f $1 ] || echo $1 exists .PHONY: dynamicToo003 # Check that "-c -dynamic-too" works @@ -13,3 +14,32 @@ dynamicToo003: $(call checkExists,A003.dyn_o) $(call checkExists,A003.dyn_hi) +.PHONY: dynamicTooRecomp +# Check that recompilation with "-c -dynamic-too" works +dynamicTooRecomp: + "$(TEST_HC)" $(TEST_HC_OPTS) -dynamic-too -v0 -c ARecomp.hs + # Remove just dynamic objects + $(RM) ARecomp.dyn* + # Recompile + "$(TEST_HC)" $(TEST_HC_OPTS) -dynamic-too -v0 -c ARecomp.hs + # Check everything is there + $(call checkExists,ARecomp.o) + $(call checkExists,ARecomp.hi) + $(call checkExists,ARecomp.dyn_o) + $(call checkExists,ARecomp.dyn_hi) + +.PHONY: dynamicTooOnlyInterface +# Check that a missing .dyn_o does not cause recompilation when `-fno-code` `-fwrite-interface` +# is combined +dynamicTooOnlyInterface: + "$(TEST_HC)" $(TEST_HC_OPTS) -dynamic-too -v0 -c ARecomp.hs + # Remove just dynamic objects + $(RM) ARecomp.dyn* + # Recompile, using -fno-code -fwrite-interface + "$(TEST_HC)" $(TEST_HC_OPTS) -fno-code -fwrite-interface -v0 -c ARecomp.hs + # Check the right things are there + $(call checkExists,ARecomp.o) + $(call checkExists,ARecomp.hi) + $(call checkMissing,ARecomp.dyn_o) + $(call checkMissing,ARecomp.dyn_hi) + |