Ben Gamari pushed to branch ghc-9.14 at Glasgow Haskell Compiler / GHC

Commits:

2 changed files:

Changes:

  • m4/fp_settings.m4
    ... ... @@ -85,6 +85,19 @@ AC_DEFUN([FP_SETTINGS],
    85 85
             SettingsWindresCommand="$WindresCmd"
    
    86 86
         fi
    
    87 87
     
    
    88
    +    # Fallback values for LLVM tools. See #26209.
    
    89
    +    if test -z "$LlcCmd"; then
    
    90
    +        LlcCmd="llc"
    
    91
    +    fi
    
    92
    +
    
    93
    +    if test -z "$OptCmd"; then
    
    94
    +        OptCmd="opt"
    
    95
    +    fi
    
    96
    +
    
    97
    +    if test -z "$LlvmAsCmd"; then
    
    98
    +        LlvmAsCmd="clang"
    
    99
    +    fi
    
    100
    +
    
    88 101
         # LLVM backend tools
    
    89 102
         SettingsLlcCommand="$LlcCmd"
    
    90 103
         SettingsOptCommand="$OptCmd"
    

  • utils/ghc-toolchain/exe/Main.hs
    ... ... @@ -458,9 +458,9 @@ mkTarget opts = do
    458 458
           throwE "Neither a object-merging tool (e.g. ld -r) nor an ar that supports -L is available"
    
    459 459
     
    
    460 460
         -- LLVM toolchain
    
    461
    -    llc <- optional $ findProgram "llc" (optLlc opts) ["llc"]
    
    462
    -    opt <- optional $ findProgram "opt" (optOpt opts) ["opt"]
    
    463
    -    llvmAs <- optional $ findProgram "llvm assembler" (optLlvmAs opts) ["clang"]
    
    461
    +    llc <- findProgram "llc" (optLlc opts) ["llc"] <|> return (Program "llc" [])
    
    462
    +    opt <- findProgram "opt" (optOpt opts) ["opt"] <|> return (Program "opt" [])
    
    463
    +    llvmAs <- findProgram "llvm assembler" (optLlvmAs opts) ["clang"] <|> return (Program "clang" [])
    
    464 464
     
    
    465 465
         -- Windows-specific utilities
    
    466 466
         windres <-
    
    ... ... @@ -515,9 +515,9 @@ mkTarget opts = do
    515 515
                        , tgtRanlib = ranlib
    
    516 516
                        , tgtNm = nm
    
    517 517
                        , tgtMergeObjs = mergeObjs
    
    518
    -                   , tgtLlc = llc
    
    519
    -                   , tgtOpt = opt
    
    520
    -                   , tgtLlvmAs = llvmAs
    
    518
    +                   , tgtLlc = Just llc
    
    519
    +                   , tgtOpt = Just opt
    
    520
    +                   , tgtLlvmAs = Just llvmAs
    
    521 521
                        , tgtWindres = windres
    
    522 522
                        , tgtOtool = otool
    
    523 523
                        , tgtInstallNameTool = installNameTool