Drop trackBuildSystem setting
authorAndrey Mokhov <andrey.mokhov@gmail.com>
Thu, 14 Jul 2016 01:04:32 +0000 (02:04 +0100)
committerAndrey Mokhov <andrey.mokhov@gmail.com>
Thu, 14 Jul 2016 01:04:32 +0000 (02:04 +0100)
src/Oracles/ArgsHash.hs
src/Rules/Generators/Common.hs
src/Rules/Gmp.hs
src/Rules/Libffi.hs
src/UserSettings.hs

index d1ebc68..660edd9 100644 (file)
@@ -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 ()
index e97d536..b01ad2f 100644 (file)
@@ -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@.
+-- | 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').
index efe9144..0cf5b91 100644 (file)
@@ -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?
index 3ee3307..99b97df 100644 (file)
@@ -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
index 1f73efa..a0a5d49 100644 (file)
@@ -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