[commit: ghc] wip/nfs-locking: Error when a non-optional builder is not specified. (8ba5cff)

git at git.haskell.org git at git.haskell.org
Fri Oct 27 00:53:53 UTC 2017


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

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

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

commit 8ba5cfffa37a1992567104a90566d506b4d83f56
Author: Andrey Mokhov <andrey.mokhov at gmail.com>
Date:   Fri Mar 4 01:43:30 2016 +0000

    Error when a non-optional builder is not specified.
    
    See #211.


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

8ba5cfffa37a1992567104a90566d506b4d83f56
 src/Builder.hs | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/Builder.hs b/src/Builder.hs
index 75d3d4e..eee24cb 100644
--- a/src/Builder.hs
+++ b/src/Builder.hs
@@ -86,6 +86,11 @@ isStaged = \case
     (GhcPkg _) -> True
     _          -> False
 
+isOptional :: Builder -> Bool
+isOptional = \case
+    HsColour -> True
+    _        -> False
+
 -- TODO: get rid of fromJust
 -- | Determine the location of a 'Builder'
 builderPath :: Builder -> Action FilePath
@@ -116,9 +121,13 @@ builderPath builder = case builderProvenance builder of
                 _ -> error $ "Cannot determine builderKey for " ++ show builder
         path <- askConfigWithDefault builderKey . putError $
             "\nCannot find path to '" ++ builderKey
-            ++ "' in configuration files. Have you forgot to run configure?"
-        if path == "" -- TODO: get rid of "" paths
-        then return ""
+            ++ "' in system.config file. Have you forgot to run configure?"
+        if null path
+        then do
+            if isOptional builder
+            then return ""
+            else putError $ "Builder '" ++ builderKey ++ "' is not specified in"
+                ++ " system.config file. Cannot proceed without it."
         else do
             path' <- lookupInPath path
             fixAbsolutePathOnWindows $ path' -<.> exe



More information about the ghc-commits mailing list