[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