[commit: ghc] wip/nfs-locking: Add argWith. (cbda822)

git at git.haskell.org git at git.haskell.org
Thu Oct 26 23:12:23 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/nfs-locking
Link       : http://ghc.haskell.org/trac/ghc/changeset/cbda8225449ac1ed80f64843f4fc58390e113994/ghc

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

commit cbda8225449ac1ed80f64843f4fc58390e113994
Author: Andrey Mokhov <andrey.mokhov at gmail.com>
Date:   Mon Jul 13 16:42:04 2015 +0100

    Add argWith.


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

cbda8225449ac1ed80f64843f4fc58390e113994
 src/Oracles/Builder.hs   |  7 +++----
 src/Settings/GhcCabal.hs | 20 ++++++++------------
 src/Settings/Util.hs     |  5 ++++-
 3 files changed, 15 insertions(+), 17 deletions(-)

diff --git a/src/Oracles/Builder.hs b/src/Oracles/Builder.hs
index 316217f..1f3e45a 100644
--- a/src/Oracles/Builder.hs
+++ b/src/Oracles/Builder.hs
@@ -12,8 +12,7 @@ import Oracles.Base
 import Oracles.Flag
 import Oracles.Option
 
--- A Builder is an external command invoked in separate process
--- by calling Shake.cmd
+-- A Builder is an external command invoked in separate process using Shake.cmd
 --
 -- Ghc Stage0 is the bootstrapping compiler
 -- Ghc StageN, N > 0, is the one built on stage (N - 1)
@@ -82,11 +81,11 @@ needBuilder builder = do
     need [exe]
 
 -- Action 'with Gcc' returns '--with-gcc=/path/to/gcc' and needs Gcc
-with :: Builder -> Args
+with :: Builder -> Action String
 with builder = do
     exe <- showArg builder
     needBuilder builder
-    return [withBuilderKey builder ++ exe]
+    return $ withBuilderKey builder ++ exe
 
 withBuilderKey :: Builder -> String
 withBuilderKey builder = case builder of
diff --git a/src/Settings/GhcCabal.hs b/src/Settings/GhcCabal.hs
index d8eda6a..db8fd6e 100644
--- a/src/Settings/GhcCabal.hs
+++ b/src/Settings/GhcCabal.hs
@@ -25,18 +25,18 @@ cabalSettings = builder GhcCabal ? do
             , arg $ pkgPath pkg
             , arg $ targetDirectory stage pkg
             , dllSettings
-            , with' $ Ghc stage
-            , with' $ GhcPkg stage
+            , argWith $ Ghc stage
+            , argWith $ GhcPkg stage
             , stage0 ? bootPackageDbSettings
             , librarySettings
-            , configKeyNonEmpty "hscolour" ? with' HsColour -- TODO: generalise?
+            , configKeyNonEmpty "hscolour" ? argWith HsColour -- TODO: generalise?
             , configureSettings
             , stage0 ? packageConstraints
-            , with' $ Gcc stage
-            , notStage Stage0 ? with' Ld
-            , with' Ar
-            , with' Alex
-            , with' Happy ] -- TODO: reorder with's
+            , argWith $ Gcc stage
+            , notStage Stage0 ? argWith Ld
+            , argWith Ar
+            , argWith Alex
+            , argWith Happy ] -- TODO: reorder argWiths
 
 -- TODO: Isn't vanilla always built? If yes, some conditions are redundant.
 librarySettings :: Settings
@@ -90,10 +90,6 @@ bootPackageDbSettings = do
 dllSettings :: Settings
 dllSettings = arg ""
 
--- TODO: remove
-with' :: Builder -> Settings
-with' builder = appendM $ with builder
-
 packageConstraints :: Settings
 packageConstraints = do
     pkgs <- fromDiffExpr packages
diff --git a/src/Settings/Util.hs b/src/Settings/Util.hs
index 4b22be4..d7bfa49 100644
--- a/src/Settings/Util.hs
+++ b/src/Settings/Util.hs
@@ -2,7 +2,7 @@
 
 module Settings.Util (
     -- Primitive settings elements
-    arg, argM, args,
+    arg, argM, args, argWith,
     argConfig, argStagedConfig, argConfigList, argStagedConfigList,
     ccArgs,
     -- argBuilderPath, argStagedBuilderPath,
@@ -28,6 +28,9 @@ argM = appendM . fmap return
 args :: [String] -> Settings
 args = append
 
+argWith :: Builder -> Settings
+argWith = argM . with
+
 argConfig :: String -> Settings
 argConfig = appendM . fmap return . askConfig
 



More information about the ghc-commits mailing list