[commit: testsuite] master: substitute for $topdir in $(AR) (386ff6e)
Simon Marlow
marlowsd at gmail.com
Tue May 1 14:37:39 CEST 2012
Repository : ssh://darcs.haskell.org//srv/darcs/testsuite
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/386ff6e111cd1d53435abdc715728165046de4b2
>---------------------------------------------------------------
commit 386ff6e111cd1d53435abdc715728165046de4b2
Author: Simon Marlow <marlowsd at gmail.com>
Date: Tue May 1 09:17:37 2012 +0100
substitute for $topdir in $(AR)
Fixes ghcilink001, ghcilink004 on Windows
>---------------------------------------------------------------
mk/ghc-config.hs | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/mk/ghc-config.hs b/mk/ghc-config.hs
index e0b8954..7bdc6d6 100644
--- a/mk/ghc-config.hs
+++ b/mk/ghc-config.hs
@@ -1,5 +1,6 @@
import System.Environment
import System.Process
+import Data.Maybe
main = do
[ghc] <- getArgs
@@ -14,6 +15,7 @@ main = do
info <- readProcess ghc ["--info"] ""
let fields = read info :: [(String,String)]
+
getGhcField fields "GhcStage" "Stage"
getGhcField fields "GhcWithNativeCodeGen" "Have native code generator"
getGhcField fields "GhcWithInterpreter" "Have interpreter"
@@ -28,8 +30,16 @@ getGhcField fields mkvar key =
Nothing -> fail ("No field: " ++ key)
Just val -> putStrLn (mkvar ++ '=':val)
-getGhcFieldWithDefault :: [(String,String)] -> String -> String -> String -> IO ()
+getGhcFieldWithDefault :: [(String,String)]
+ -> String -> String -> String -> IO ()
getGhcFieldWithDefault fields mkvar key deflt = do
case lookup key fields of
Nothing -> putStrLn (mkvar ++ '=':deflt)
- Just val -> putStrLn (mkvar ++ '=':val)
+ Just val -> putStrLn (mkvar ++ '=': fixTopdir topdir val)
+ where
+ topdir = fromMaybe "" (lookup "LibDir" fields)
+
+fixTopdir :: String -> String -> String
+fixTopdir t "" = ""
+fixTopdir t ('$':'t':'o':'p':'d':'i':'r':s) = t ++ s
+fixTopdir t (c:s) = c : fixTopdir t s
More information about the Cvs-ghc
mailing list