Add knownWays and knownRtsWays to Settings.Ways.
authorAndrey Mokhov <andrey.mokhov@gmail.com>
Wed, 5 Aug 2015 21:31:19 +0000 (22:31 +0100)
committerAndrey Mokhov <andrey.mokhov@gmail.com>
Wed, 5 Aug 2015 21:31:19 +0000 (22:31 +0100)
src/Settings/GhcCabal.hs
src/Settings/User.hs
src/Settings/Ways.hs

index dfcb3df..5f264b2 100644 (file)
@@ -15,6 +15,7 @@ import Oracles.Setting
 import Settings.User
 import Settings.Ways
 import Settings.Util
+import Settings.Packages
 
 cabalArgs :: Args
 cabalArgs = builder GhcCabal ? do
index 6426e82..572feb4 100644 (file)
@@ -1,5 +1,4 @@
 module Settings.User (
-    module Settings.Default,
     userArgs, userPackages, userWays, userRtsWays, userTargetDirectory,
     userKnownPackages, integerLibrary,
     buildHaddock, validating, ghciWithDebugger, ghcProfiled,
index c8377eb..ae4bd38 100644 (file)
@@ -1,6 +1,7 @@
 module Settings.Ways (
     ways, getWays,
-    rtsWays, getRtsWays
+    rtsWays, getRtsWays,
+    knownWays, knownRtsWays
     ) where
 
 import Way
@@ -8,7 +9,7 @@ import Stage
 import Switches
 import Expression
 import Oracles.Flag
-import Settings.User
+import Settings.User hiding (parallel)
 
 -- Combining default ways with user modifications
 ways :: Ways
@@ -39,3 +40,14 @@ defaultRtsWays = do
         , (dynamic `elem` ways) ?
           append [ dynamic, debugDynamic, threadedDynamic, threadedDebugDynamic
                  , loggingDynamic, threadedLoggingDynamic ] ]
+
+-- These are all ways known to the build system
+knownWays :: [Way]
+knownWays = [vanilla, profiling, logging, parallel, granSim]
+
+knownRtsWays :: [Way]
+knownRtsWays = [ threaded, threadedProfiling, threadedLogging, debug
+               , debugProfiling, threadedDebug, threadedDebugProfiling, dynamic
+               , profilingDynamic, threadedProfilingDynamic, threadedDynamic
+               , threadedDebugDynamic, debugDynamic, loggingDynamic
+               , threadedLoggingDynamic ]