Make generated ghc-stage<n> scripts executable
authorSebastian Graf <sgraf1337@gmail.com>
Wed, 17 Jul 2019 10:08:15 +0000 (10:08 +0000)
committerMarge Bot <ben+marge-bot@smart-cactus.org>
Fri, 19 Jul 2019 22:08:15 +0000 (18:08 -0400)
hadrian/src/Rules/Generate.hs

index 8593810..7a58413 100644 (file)
@@ -172,8 +172,8 @@ generateRules :: Rules ()
 generateRules = do
     root <- buildRootRules
 
-    (root -/- "ghc-stage1") <~ ghcWrapper Stage1
-    (root -/- "ghc-stage2") <~ ghcWrapper Stage2
+    (root -/- "ghc-stage1") <~+ ghcWrapper Stage1
+    (root -/- "ghc-stage2") <~+ ghcWrapper Stage2
 
     priority 2.0 $ (root -/- generatedDir -/- "ghcautoconf.h") <~ generateGhcAutoconfH
     priority 2.0 $ (root -/- generatedDir -/- "ghcplatform.h") <~ generateGhcPlatformH
@@ -188,7 +188,8 @@ generateRules = do
         withTempDir $ \dir -> build $
             target (rtsContext Stage1) DeriveConstants [] [file, dir]
   where
-    file <~ gen = file %> \out -> generate out emptyTarget gen
+    file <~  gen = file %> \out -> generate out emptyTarget gen
+    file <~+ gen = file %> \out -> generate out emptyTarget gen >> makeExecutable out
 
 -- TODO: Use the Types, Luke! (drop partial function)
 -- We sometimes need to evaluate expressions that do not require knowing all