From f1980a1e8a05eca244bbc018c0d590e535112f35 Mon Sep 17 00:00:00 2001
From: Sebastian Graf <sgraf1337@gmail.com>
Date: Wed, 17 Jul 2019 10:08:15 +0000
Subject: [PATCH] Make generated ghc-stage<n> scripts executable

---
 hadrian/src/Rules/Generate.hs | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/hadrian/src/Rules/Generate.hs b/hadrian/src/Rules/Generate.hs
index 859381054614..7a584130f5b7 100644
--- a/hadrian/src/Rules/Generate.hs
+++ b/hadrian/src/Rules/Generate.hs
@@ -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
-- 
GitLab