Revert "Batch merge"
[ghc.git] / testsuite / tests / ghci / linking / Makefile
index a4e719e..793998e 100644 (file)
@@ -2,8 +2,6 @@ TOP=../../..
 include $(TOP)/mk/boilerplate.mk
 include $(TOP)/mk/test.mk
 
-LOCAL_GHC_PKG = '$(GHC_PKG)' --no-user-package-db -f $(LOCAL_PKGCONF)
-
 # Test 1: ghci -Ldir -lfoo
 #   with dir/libfoo.a
 
@@ -13,7 +11,7 @@ ghcilink001 :
        mkdir dir001
        "$(TEST_HC)" -c f.c -o dir001/foo.o
        "$(AR)" cqs dir001/libfoo.a dir001/foo.o
-       echo "test" | "$(TEST_HC)" --interactive -ignore-dot-ghci -v0 -Ldir001 -lfoo TestLink.hs
+       echo "test" | "$(TEST_HC)" $(TEST_HC_OPTS_INTERACTIVE) -Ldir001 -lfoo TestLink.hs
 
 # Test 2: ghci -Ldir -lfoo
 #   with dir/libfoo.so
@@ -31,8 +29,8 @@ ghcilink002 :
        $(RM) -rf dir002
        mkdir dir002
        "$(TEST_HC)" -c -dynamic f.c -o dir002/foo.o
-       "$(TEST_HC)" -shared -v0 -o dir002/$(call DLL,foo) dir002/foo.o
-       echo "test" | "$(TEST_HC)" --interactive -ignore-dot-ghci -v0 -Ldir002 -lfoo TestLink.hs
+       "$(TEST_HC)" -no-auto-link-packages -shared -v0 -o dir002/$(call DLL,foo) dir002/foo.o
+       echo "test" | "$(TEST_HC)" $(TEST_HC_OPTS_INTERACTIVE) -Ldir002 -lfoo TestLink.hs
 
 # Test 3: ghci -lstdc++
 #    where libstdc++.so is normally found in a directory private to gcc,
@@ -40,13 +38,13 @@ ghcilink002 :
 
 .PHONY: ghcilink003
 ghcilink003 :
-       echo ":q" | "$(TEST_HC)" --interactive -ignore-dot-ghci -v0 -lstdc++
+       echo ":q" | "$(TEST_HC)" $(TEST_HC_OPTS_INTERACTIVE) -lstdc++
 
-# Test 4: 
+# Test 4:
 #   package P
 #      library-dirs: `pwd`/dir004
 #      extra-libraries: foo
-#   with 
+#   with
 #    dir004/libfoo.a
 
 LOCAL_PKGCONF004=dir004/local.package.conf
@@ -60,20 +58,21 @@ ghcilink004 :
        echo 'name: test' >>$(PKG004)
        echo 'version: 1.0' >>$(PKG004)
        echo 'id: test-XXX' >>$(PKG004)
+       echo 'key: test-XXX' >>$(PKG004)
        echo 'library-dirs: $${pkgroot}' >>$(PKG004)
        echo 'extra-libraries: foo' >>$(PKG004)
-       echo '[]' >$(LOCAL_PKGCONF004)
+       '$(GHC_PKG)' init $(LOCAL_PKGCONF004)
        '$(GHC_PKG)' --no-user-package-db -f $(LOCAL_PKGCONF004) register $(PKG004) -v0
        #
        "$(TEST_HC)" -c f.c -o dir004/foo.o
        "$(AR)" cqs dir004/libfoo.a dir004/foo.o
-       echo "test" | "$(TEST_HC)" --interactive -ignore-dot-ghci -v0 -package-db $(LOCAL_PKGCONF004) -package test TestLink.hs
+       echo "test" | "$(TEST_HC)" $(TEST_HC_OPTS_INTERACTIVE) -package-db $(LOCAL_PKGCONF004) -package test TestLink.hs
 
-# Test 5: 
+# Test 5:
 #   package P
 #      library-dirs: `pwd`/dir005
 #      extra-libraries: foo
-#   with 
+#   with
 #    dir005/libfoo.so
 
 LOCAL_PKGCONF005=dir005/ghcilink005.package.conf
@@ -87,16 +86,17 @@ ghcilink005 :
        echo 'name: test' >>$(PKG005)
        echo 'version: 1.0' >>$(PKG005)
        echo 'id: test-XXX' >>$(PKG005)
+       echo 'key: test-XXX' >>$(PKG005)
        echo 'library-dirs: $${pkgroot}' >>$(PKG005)
        echo 'extra-libraries: foo' >>$(PKG005)
-       echo '[]' >$(LOCAL_PKGCONF005)
+       '$(GHC_PKG)' init $(LOCAL_PKGCONF005)
        '$(GHC_PKG)' --no-user-package-db -f $(LOCAL_PKGCONF005) register $(PKG005) -v0
        #
        "$(TEST_HC)" -c -dynamic f.c -o dir005/foo.o
-       "$(TEST_HC)" -shared -o dir005/$(call DLL,foo) dir005/foo.o
-       echo "test" | "$(TEST_HC)" --interactive -ignore-dot-ghci -v0 -package-db $(LOCAL_PKGCONF005) -package test TestLink.hs
+       "$(TEST_HC)" -no-auto-link-packages -shared -o dir005/$(call DLL,foo) dir005/foo.o
+       echo "test" | "$(TEST_HC)" $(TEST_HC_OPTS_INTERACTIVE) -package-db $(LOCAL_PKGCONF005) -package test TestLink.hs
 
-# Test 6: 
+# Test 6:
 #   package P
 #      extra-libraries: stdc++
 
@@ -111,9 +111,26 @@ ghcilink006 :
        echo "name: test" >>$(PKG006)
        echo "version: 1.0" >>$(PKG006)
        echo "id: test-XXX" >>$(PKG006)
+       echo "key: test-XXX" >>$(PKG006)
+ifeq "$(WINDOWS)" "YES"
+       echo "extra-libraries: stdc++-6" >>$(PKG006)
+else
        echo "extra-libraries: stdc++" >>$(PKG006)
-       echo "[]" >$(LOCAL_PKGCONF006)
+endif
+       '$(GHC_PKG)' init $(LOCAL_PKGCONF006)
        '$(GHC_PKG)' --no-user-package-db -f $(LOCAL_PKGCONF006) register $(PKG006) -v0
        #
-       echo ":q" | "$(TEST_HC)" --interactive -ignore-dot-ghci -v0 -package-db $(LOCAL_PKGCONF006) -package test
-
+       echo ":q" | "$(TEST_HC)" $(TEST_HC_OPTS_INTERACTIVE) -package-db $(LOCAL_PKGCONF006) -package test
+
+.PHONY: T3333
+T3333:
+       "$(TEST_HC)" -c T3333.c -o T3333.o
+       echo "weak_test 10" | "$(TEST_HC)" $(TEST_HC_OPTS_INTERACTIVE) T3333.hs T3333.o
+
+.PHONY: T14708
+T14708:
+       $(RM) -rf T14708scratch
+       mkdir T14708scratch
+       "$(TEST_HC)" -c add.c -o T14708scratch/add.o
+       "$(AR)" cqs T14708scratch/libadd.a T14708scratch/add.o
+       -"$(TEST_HC)" $(TEST_HC_OPTS_INTERACTIVE) -LT14708scratch -ladd T14708.hs