[commit: ghc] wip/nfs-locking: Drop trackBuildSystem setting (4ad8082)

git at git.haskell.org git at git.haskell.org
Fri Oct 27 01:05:48 UTC 2017


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

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

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

commit 4ad80828794f13c3e9139a68f06f3f2b6db1428f
Author: Andrey Mokhov <andrey.mokhov at gmail.com>
Date:   Thu Jul 14 02:04:32 2016 +0100

    Drop trackBuildSystem setting


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

4ad80828794f13c3e9139a68f06f3f2b6db1428f
 src/Oracles/ArgsHash.hs        |  3 +--
 src/Rules/Generators/Common.hs |  6 ++----
 src/Rules/Gmp.hs               |  2 +-
 src/Rules/Libffi.hs            |  2 +-
 src/UserSettings.hs            | 13 ++-----------
 5 files changed, 7 insertions(+), 19 deletions(-)

diff --git a/src/Oracles/ArgsHash.hs b/src/Oracles/ArgsHash.hs
index d1ebc68..660edd9 100644
--- a/src/Oracles/ArgsHash.hs
+++ b/src/Oracles/ArgsHash.hs
@@ -5,7 +5,6 @@ import Base
 import Expression
 import Settings
 import Target
-import UserSettings
 
 newtype ArgsHashKey = ArgsHashKey Target
     deriving (Binary, Eq, Hashable, NFData, Show, Typeable)
@@ -21,7 +20,7 @@ newtype ArgsHashKey = ArgsHashKey Target
 -- argument list constructors are assumed not to examine target sources, but
 -- only append them to argument lists where appropriate.
 checkArgsHash :: Target -> Action ()
-checkArgsHash target = when trackBuildSystem $ do
+checkArgsHash target = do
     let hashed = [ show . hash $ inputs target ]
     _ <- askOracle . ArgsHashKey $ target { inputs = hashed } :: Action Int
     return ()
diff --git a/src/Rules/Generators/Common.hs b/src/Rules/Generators/Common.hs
index e97d536..b01ad2f 100644
--- a/src/Rules/Generators/Common.hs
+++ b/src/Rules/Generators/Common.hs
@@ -2,12 +2,10 @@ module Rules.Generators.Common (trackSource, yesNo, cppify) where
 
 import Base
 import Expression
-import UserSettings
 
--- | Track a given source file when constructing an expression if the user
--- enabled 'trackBuildSystem' in @hadrian/src/UserSettings.hs at .
+-- | Track a given source file when constructing an expression.
 trackSource :: FilePath -> Expr ()
-trackSource file = lift $ when trackBuildSystem $ need [ sourcePath -/- file ]
+trackSource file = lift $ need [ sourcePath -/- file ]
 
 -- | Turn a 'Bool' computed by an 'Action' into a 'String' expression returning
 -- "YES" (when the Boolean is 'True') or "NO" (when the Boolean is 'False').
diff --git a/src/Rules/Gmp.hs b/src/Rules/Gmp.hs
index efe9144..0cf5b91 100644
--- a/src/Rules/Gmp.hs
+++ b/src/Rules/Gmp.hs
@@ -34,7 +34,7 @@ gmpRules :: Rules ()
 gmpRules = do
     -- TODO: split into multiple rules
     gmpLibraryH %> \_ -> do
-        when trackBuildSystem $ need [sourcePath -/- "Rules/Gmp.hs"]
+        need [sourcePath -/- "Rules/Gmp.hs"]
         removeDirectory gmpBuildPath
 
         -- We don't use system GMP on Windows. TODO: fix?
diff --git a/src/Rules/Libffi.hs b/src/Rules/Libffi.hs
index 3ee3307..99b97df 100644
--- a/src/Rules/Libffi.hs
+++ b/src/Rules/Libffi.hs
@@ -58,7 +58,7 @@ configureEnvironment = do
 libffiRules :: Rules ()
 libffiRules = do
     libffiDependencies &%> \_ -> do
-        when trackBuildSystem $ need [sourcePath -/- "Rules/Libffi.hs"]
+        need [sourcePath -/- "Rules/Libffi.hs"]
         useSystemFfi <- flag UseSystemFfi
         if useSystemFfi
         then do
diff --git a/src/UserSettings.hs b/src/UserSettings.hs
index 1f73efa..a0a5d49 100644
--- a/src/UserSettings.hs
+++ b/src/UserSettings.hs
@@ -3,9 +3,8 @@
 -- If you don't copy the file your changes will be tracked by git and you can
 -- accidentally commit them.
 module UserSettings (
-    buildRootPath, userFlavours, userKnownPackages, integerLibrary,
-    trackBuildSystem, validating, turnWarningsIntoErrors, verboseCommands,
-    putBuild, putSuccess
+    buildRootPath, userFlavours, userKnownPackages, integerLibrary, validating,
+    turnWarningsIntoErrors, verboseCommands, putBuild, putSuccess
     ) where
 
 import System.Console.ANSI
@@ -42,14 +41,6 @@ integerLibrary = integerGmp
 -- * @Predicate@: a flag whose value can depend on the build environment and
 -- on the current build target.
 
--- TODO: Drop 'trackBuildSystem' as it brings negligible gains.
--- | Set this to True if you are making any changes in the build system and want
--- appropriate rebuilds to be initiated. Switching this to False speeds things
--- up a little (particularly zero builds).
--- WARNING: a complete rebuild is required when changing this setting.
-trackBuildSystem :: Bool
-trackBuildSystem = True
-
 -- TODO: This should be set automatically when validating.
 validating :: Bool
 validating = False



More information about the ghc-commits mailing list