[commit: ghc] wip/nfs-locking: Drop makeCommand, use make detected by configure. (266461a)

git at git.haskell.org git at git.haskell.org
Thu Oct 26 23:53:06 UTC 2017


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

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

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

commit 266461a38790c86451a441db5b308341df3c6e61
Author: Andrey Mokhov <andrey.mokhov at gmail.com>
Date:   Fri Jan 15 23:57:49 2016 +0000

    Drop makeCommand, use make detected by configure.
    
    Fix #167.


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

266461a38790c86451a441db5b308341df3c6e61
 src/Rules/Actions.hs | 21 ++++++++++++++++-----
 src/Rules/Gmp.hs     |  1 -
 src/Settings/User.hs |  7 +------
 3 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/src/Rules/Actions.hs b/src/Rules/Actions.hs
index a0a88ff..429f241 100644
--- a/src/Rules/Actions.hs
+++ b/src/Rules/Actions.hs
@@ -6,18 +6,18 @@ module Rules.Actions (
     ) where
 
 import qualified System.Directory as IO
+import System.Console.ANSI
 
 import Base
 import Expression
 import Oracles
 import Oracles.ArgsHash
+import Oracles.Config.CmdLineFlag (buildInfo, BuildInfoFlag(..))
 import Settings
 import Settings.Args
 import Settings.Builders.Ar
 import qualified Target
 
-import Oracles.Config.CmdLineFlag (buildInfo, BuildInfoFlag(..))
-
 -- Build a given target using an appropriate builder and acquiring necessary
 -- resources. Force a rebuilt if the argument list has changed since the last
 -- built (that is, track changes in the build system).
@@ -107,15 +107,26 @@ runConfigure dir opts args = do
 runMake :: FilePath -> [String] -> Action ()
 runMake dir args = do
     need [dir -/- "Makefile"]
+    path <- builderPath Make
+
+    -- FIXME: temporary safety net for those who are not on GHC HEAD, see #167
+    fixPath <- if path == "@MakeCmd@" <.> exe
+               then do
+                   putColoured Red $ "You are behind GHC HEAD, make autodetection is disabled."
+                   return "make"
+               else do
+                   needBuilder False Make
+                   return path
+
     let note = if null args then "" else " (" ++ intercalate ", " args ++ ")"
-    putBuild $ "| Run make" ++ note ++ " in " ++ dir ++ "..."
-    quietly $ cmd Shell (EchoStdout False) makeCommand ["-C", dir] args
+    putBuild $ "| Run " ++ fixPath ++ " " ++ note ++ " in " ++ dir ++ "..."
+    quietly $ cmd Shell (EchoStdout False) fixPath ["-C", dir] args
 
 applyPatch :: FilePath -> FilePath -> Action ()
 applyPatch dir patch = do
     let file = dir -/- patch
     need [file]
-    needBuilder False Patch
+    needBuilder False Patch -- TODO: add a specialised version ~needBuilderFalse?
     path <- builderPath Patch
     putBuild $ "| Apply patch " ++ file
     quietly $ cmd Shell (EchoStdout False) [Cwd dir] [path, "-p0 <", patch]
diff --git a/src/Rules/Gmp.hs b/src/Rules/Gmp.hs
index d8cf707..8df337b 100644
--- a/src/Rules/Gmp.hs
+++ b/src/Rules/Gmp.hs
@@ -109,7 +109,6 @@ gmpRules = do
                          ++ "(found: " ++ show tarballs ++ ")."
 
             need tarballs
-            createDirectory gmpBuildPath
             build $ fullTarget gmpTarget Tar tarballs [gmpBuildPath]
 
             forM_ gmpPatches $ \src -> do
diff --git a/src/Settings/User.hs b/src/Settings/User.hs
index 3d08ecd..3cebe13 100644
--- a/src/Settings/User.hs
+++ b/src/Settings/User.hs
@@ -3,7 +3,7 @@ module Settings.User (
     userArgs, userPackages, userLibWays, userRtsWays, userKnownPackages,
     integerLibrary, buildHaddock, validating, ghciWithDebugger, ghcProfiled,
     ghcDebugged, dynamicGhcPrograms, laxDependencies, buildSystemConfigFile,
-    verboseCommands, turnWarningsIntoErrors, splitObjects, makeCommand
+    verboseCommands, turnWarningsIntoErrors, splitObjects
     ) where
 
 import GHC
@@ -101,8 +101,3 @@ verboseCommands = return False
 -- | To enable -Werror in Stage2 set turnWarningsIntoErrors = stage2.
 turnWarningsIntoErrors :: Predicate
 turnWarningsIntoErrors = return False
-
--- | Specify which @make@ command to use, for example set to "gmake" for
--- @GNU make at .
-makeCommand :: FilePath
-makeCommand = "make"



More information about the ghc-commits mailing list