[commit: ghc] wip/nfs-locking: Add explicit dependencies on includes/ generated files (fix #48). (1fcb025)

git at git.haskell.org git at git.haskell.org
Thu Oct 26 23:31:07 UTC 2017


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

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

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

commit 1fcb025a9405f6b2970d1efdaf47558b300de1a9
Author: Andrey Mokhov <andrey.mokhov at gmail.com>
Date:   Sun Dec 27 01:55:29 2015 +0000

    Add explicit dependencies on includes/ generated files (fix #48).


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

1fcb025a9405f6b2970d1efdaf47558b300de1a9
 src/Rules/Dependencies.hs | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/Rules/Dependencies.hs b/src/Rules/Dependencies.hs
index 907c4d3..5d08df1 100644
--- a/src/Rules/Dependencies.hs
+++ b/src/Rules/Dependencies.hs
@@ -4,6 +4,7 @@ import Expression
 import GHC
 import Oracles
 import Rules.Actions
+import Rules.Generate
 import Rules.Resources
 import Settings
 
@@ -17,13 +18,13 @@ buildPackageDependencies _ target @ (PartialTarget stage pkg) =
     in do
         (buildPath <//> "*.c.deps") %> \out -> do
             let srcFile = dropBuild . dropExtension $ out
-            when (pkg == compiler) $ need [platformH]
+            when (pkg == compiler) . need $ platformH : includesDependencies
             need [srcFile]
             build $ fullTarget target (GccM stage) [srcFile] [out]
 
         hDepFile %> \out -> do
             srcs <- interpretPartial target getPackageSources
-            when (pkg == compiler) $ need [platformH]
+            when (pkg == compiler) . need $ platformH : includesDependencies
             -- TODO: very ugly and fragile; use gcc -MM instead?
             let extraDeps = if pkg /= compiler then [] else fmap (buildPath -/-)
                    [ "primop-vector-uniques.hs-incl"



More information about the ghc-commits mailing list