Add userWays and make sure all user-specific settings are used.
authorAndrey Mokhov <andrey.mokhov@gmail.com>
Sun, 14 Jun 2015 14:17:20 +0000 (15:17 +0100)
committerAndrey Mokhov <andrey.mokhov@gmail.com>
Sun, 14 Jun 2015 14:17:20 +0000 (15:17 +0100)
src/Rules.hs
src/Settings.hs
src/UserSettings.hs

index 227eef1..bb68b47 100644 (file)
@@ -31,4 +31,4 @@ packageRules =
     forM_ [Stage0, Stage1] $ \stage -> do
         forM_ allPackages $ \pkg -> do
             let env = defaultEnvironment { getStage = stage, getPackage = pkg }
-            buildPackage env targetWays buildSettings
+            buildPackage env (targetWays <> userWays) (settings <> userSettings)
index 539ed48..41b31ba 100644 (file)
@@ -1,7 +1,7 @@
 {-# LANGUAGE NoImplicitPrelude, FlexibleInstances #-}
 
 module Settings (
-    buildSettings
+    settings
     ) where
 
 import Base hiding (arg, args, Args)
@@ -10,8 +10,8 @@ import Oracles.Builder
 import Expression
 import Expression.Settings
 
-buildSettings :: Settings
-buildSettings = do
+settings :: Settings
+settings = do
     stage <- asks getStage
     mconcat [ builder GhcCabal ? cabalSettings
             , builder (GhcPkg stage) ? ghcPkgSettings ]
index b785c7f..ccc03f5 100644 (file)
@@ -1,20 +1,35 @@
 module UserSettings (
-    userSettings, userPackages
+    userSettings, userPackages, userWays
     ) where
 
 import Base hiding (arg, args, Args)
 import Oracles.Builder
+import Ways
 import Targets
 import Expression
 import Expression.Settings
 
+-- No user-specific settings by default
 userSettings :: Settings
-userSettings = mconcat
+userSettings = mempty
+
+userPackages :: Packages
+userPackages = mempty
+
+userWays :: Ways
+userWays = mempty
+
+-- Examples:
+userSettings' :: Settings
+userSettings' = mconcat
     [ package compiler ? stage Stage0 ? append ["foo", "bar"]
     , builder (Ghc Stage0) ? remove ["-O2"]
     , builder GhcCabal ? removeSub "--configure-option=CFLAGS" ["-Werror"] ]
 
-userPackages :: Packages
-userPackages = mconcat
+userPackages' :: Packages
+userPackages' = mconcat
     [ stage Stage1 ? remove [cabal]
     ,                remove [compiler] ]
+
+userWays' :: Ways
+userWays' = remove [profiling]