[commit: testsuite] master: Avoid using deprecated package-conf GHC flags. (bc19e1f)

Paolo Capriotti p.capriotti at gmail.com
Fri Jun 8 17:44:59 CEST 2012


Repository : ssh://darcs.haskell.org//srv/darcs/testsuite

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/bc19e1fbe140f3b3bf849e7dd96763ac5b5d2dd4

>---------------------------------------------------------------

commit bc19e1fbe140f3b3bf849e7dd96763ac5b5d2dd4
Author: Paolo Capriotti <p.capriotti at gmail.com>
Date:   Fri Jun 8 16:28:44 2012 +0100

    Avoid using deprecated package-conf GHC flags.

>---------------------------------------------------------------

 mk/ghc-config.hs |   13 +++++++++++++
 mk/test.mk       |    2 +-
 2 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/mk/ghc-config.hs b/mk/ghc-config.hs
index a14949e..5ab49eb 100644
--- a/mk/ghc-config.hs
+++ b/mk/ghc-config.hs
@@ -24,6 +24,13 @@ main = do
   getGhcField fields "GhcRTSWays" "RTS ways"
   getGhcFieldProgWithDefault fields "AR" "ar command" "ar"
 
+  let pkgdb_flag = case lookup "Project version" fields of
+        Just v
+          | parseVersion v >= [7,5] -> "package-db"
+        _ -> "package-conf"
+  putStrLn $ "GhcPackageDbFlag" ++ '=':pkgdb_flag
+
+
 getGhcField :: [(String,String)] -> String -> String -> IO ()
 getGhcField fields mkvar key =
    case lookup key fields of
@@ -49,3 +56,9 @@ fixSlashes = map f
     where f '\\' = '/'
           f c    = c
 
+parseVersion :: String -> [Int]
+parseVersion v = case break (== '.') v of
+  (n, rest) -> read n : case rest of
+    [] -> []
+    ('.':v') -> parseVersion v'
+    _ -> error "bug in parseVersion"
diff --git a/mk/test.mk b/mk/test.mk
index e6873cb..d5ac25e 100644
--- a/mk/test.mk
+++ b/mk/test.mk
@@ -27,7 +27,7 @@ CONFIG       = $(CONFIGDIR)/$(COMPILER)
 
 # TEST_HC_OPTS is passed to every invocation of TEST_HC 
 # in nested Makefiles
-TEST_HC_OPTS = -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-conf -rtsopts $(EXTRA_HC_OPTS)
+TEST_HC_OPTS = -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-$(GhcPackageDbFlag) -rtsopts $(EXTRA_HC_OPTS)
 
 RUNTEST_OPTS =
 





More information about the Cvs-ghc mailing list