[commit: ghc] wip/nfs-locking: Add install targets, install inplace/lib/platformConstants. (43b6cc3)

git at git.haskell.org git at git.haskell.org
Thu Oct 26 23:48:09 UTC 2017


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

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

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

commit 43b6cc390adbf439e8b98c19eb8b9196f0a58bfb
Author: Andrey Mokhov <andrey.mokhov at gmail.com>
Date:   Sun Dec 27 02:13:55 2015 +0000

    Add install targets, install inplace/lib/platformConstants.


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

43b6cc390adbf439e8b98c19eb8b9196f0a58bfb
 src/Rules.hs          |  4 +++-
 src/Rules/Generate.hs |  3 ++-
 src/Rules/Install.hs  | 16 ++++++++++++----
 3 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/src/Rules.hs b/src/Rules.hs
index 5516c33..a9ac3e4 100644
--- a/src/Rules.hs
+++ b/src/Rules.hs
@@ -1,6 +1,7 @@
 module Rules (generateTargets, packageRules) where
 
 import Expression
+import Rules.Install
 import Rules.Package
 import Rules.Resources
 import Settings
@@ -18,7 +19,8 @@ generateTargets = action $ do
             return [ pkgHaddockFile pkg | needHaddock && stage == Stage1 ]
         let programTargets = [ prog | Just prog <- programPath stage <$> pkgs ]
         return $ libTargets ++ programTargets
-    need targets
+
+    need $ targets ++ installTargets
 
 packageRules :: Rules ()
 packageRules = do
diff --git a/src/Rules/Generate.hs b/src/Rules/Generate.hs
index 2121a9c..ccd059f 100644
--- a/src/Rules/Generate.hs
+++ b/src/Rules/Generate.hs
@@ -1,5 +1,6 @@
 module Rules.Generate (
-    generatePackageCode, generateRules, includesDependencies
+    generatePackageCode, generateRules,
+    derivedConstantsPath, includesDependencies
     ) where
 
 import Expression
diff --git a/src/Rules/Install.hs b/src/Rules/Install.hs
index b592728..fca88fe 100644
--- a/src/Rules/Install.hs
+++ b/src/Rules/Install.hs
@@ -1,11 +1,19 @@
-module Rules.Install (installRules) where
+module Rules.Install (installTargets, installRules) where
 
 import Expression
 import GHC
+import Rules.Generate
+
+installTargets :: [FilePath]
+installTargets = [ "inplace/lib/template-hsc.h"
+                 , "inplace/lib/platformConstants" ]
 
 installRules :: Rules ()
 installRules = do
-    "inplace/lib/template-hsc.h" %> \out -> do
-        let source = pkgPath hsc2hs -/- "template-hsc.h"
-        putBuild $ "| Copying " ++ source ++ " -> " ++ out
+    "inplace/lib/template-hsc.h"    <~ pkgPath hsc2hs
+    "inplace/lib/platformConstants" <~ derivedConstantsPath
+  where
+    file <~ dir = file %> \out -> do
+        let source = dir -/- takeFileName out
         copyFileChanged source out
+        putSuccess $ "| Installed " ++ source ++ " -> " ++ out



More information about the ghc-commits mailing list