[commit: ghc] wip/nfs-locking: Add getLibWays to capture context-less ways. (cc3113d)

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


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

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

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

commit cc3113db2263c179a4e91440a9369f44a2825980
Author: Andrey Mokhov <andrey.mokhov at gmail.com>
Date:   Thu Sep 24 05:49:11 2015 +0100

    Add getLibWays to capture context-less ways.


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

cc3113db2263c179a4e91440a9369f44a2825980
 src/Settings/User.hs | 14 +++++++++-----
 src/Settings/Ways.hs | 17 ++++++++++-------
 2 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/src/Settings/User.hs b/src/Settings/User.hs
index f9a430c..5b62e39 100644
--- a/src/Settings/User.hs
+++ b/src/Settings/User.hs
@@ -1,8 +1,8 @@
 module Settings.User (
-    userArgs, userPackages, userWays, userRtsWays, userTargetDirectory,
+    userArgs, userPackages, userLibWays, userRtsWays, userTargetDirectory,
     userKnownPackages, integerLibrary,
     trackBuildSystem, buildHaddock, validating, ghciWithDebugger, ghcProfiled,
-    dynamicGhcPrograms, laxDependencies
+    ghcDebugged, dynamicGhcPrograms, laxDependencies
     ) where
 
 import Expression
@@ -21,9 +21,9 @@ userPackages = mempty
 userKnownPackages :: [Package]
 userKnownPackages = []
 
--- Control which ways are built
-userWays :: Ways
-userWays = mempty
+-- Control which ways libraries and rts are built
+userLibWays :: Ways
+userLibWays = mempty
 
 userRtsWays :: Ways
 userRtsWays = mempty
@@ -60,6 +60,10 @@ ghciWithDebugger = False
 ghcProfiled :: Bool
 ghcProfiled = False
 
+-- TODO: do we need to be able to set this from command line?
+ghcDebugged :: Bool
+ghcDebugged = False
+
 -- When laxDependencies flag is set to True, dependencies on the GHC executable
 -- are turned into order-only dependencies to avoid needless recompilation when
 -- making changes to GHC's sources. In certain situations this can lead to build
diff --git a/src/Settings/Ways.hs b/src/Settings/Ways.hs
index cafed64..ad42cea 100644
--- a/src/Settings/Ways.hs
+++ b/src/Settings/Ways.hs
@@ -1,26 +1,29 @@
-module Settings.Ways (getWays, getRtsWays) where
+module Settings.Ways (getWays, getLibWays, getRtsWays) where
 
 import Expression
 import Predicates
 import Settings.User
 
 -- Combining default ways with user modifications
+getLibWays :: Expr [Way]
+getLibWays = fromDiffExpr $ defaultLibWays <> userLibWays
+
+-- In Stage0 we only build vanilla
 getWays :: Expr [Way]
-getWays = fromDiffExpr $ defaultWays <> userWays
+getWays = mconcat [ stage0 ? return [vanilla], notStage0 ? getLibWays ]
 
 getRtsWays :: Expr [Way]
 getRtsWays = fromDiffExpr $ defaultRtsWays <> userRtsWays
 
 -- These are default ways
-defaultWays :: Ways
-defaultWays = mconcat
-    [                              append [vanilla] -- always build vanilla
-    , notStage0                  ? append [profiling]
+defaultLibWays :: Ways
+defaultLibWays = mconcat
+    [ append [vanilla, profiling]
     , platformSupportsSharedLibs ? append [dynamic] ]
 
 defaultRtsWays :: Ways
 defaultRtsWays = do
-    ways <- getWays
+    ways <- getLibWays
     mconcat
         [ append [ logging, debug, threaded, threadedDebug, threadedLogging ]
         , (profiling `elem` ways) ? append [threadedProfiling]



More information about the ghc-commits mailing list