Ben Gamari pushed to branch ghc-9.14 at Glasgow Haskell Compiler / GHC Commits: 9922faa7 by Ben Gamari at 2025-07-26T09:45:05-04:00 Revert "configure: do not set LLC/OPT/LLVMAS fallback values when FIND_LLVM_PROG fails" While dropping these fallbacks is likely the right thing in the long run, doing so now makes it needlessly difficult for users to use the LLVM backend. See #26209. This will change once `ghc-toolchain` becomes the default path. This reverts commit 4eb5ad09cf93caa5791a735baa0e7ba86b916f2a. - - - - - 2 changed files: - m4/fp_settings.m4 - utils/ghc-toolchain/exe/Main.hs Changes: ===================================== m4/fp_settings.m4 ===================================== @@ -85,6 +85,19 @@ AC_DEFUN([FP_SETTINGS], SettingsWindresCommand="$WindresCmd" fi + # Fallback values for LLVM tools. See #26209. + if test -z "$LlcCmd"; then + LlcCmd="llc" + fi + + if test -z "$OptCmd"; then + OptCmd="opt" + fi + + if test -z "$LlvmAsCmd"; then + LlvmAsCmd="clang" + fi + # LLVM backend tools SettingsLlcCommand="$LlcCmd" SettingsOptCommand="$OptCmd" ===================================== utils/ghc-toolchain/exe/Main.hs ===================================== @@ -458,9 +458,9 @@ mkTarget opts = do throwE "Neither a object-merging tool (e.g. ld -r) nor an ar that supports -L is available" -- LLVM toolchain - llc <- optional $ findProgram "llc" (optLlc opts) ["llc"] - opt <- optional $ findProgram "opt" (optOpt opts) ["opt"] - llvmAs <- optional $ findProgram "llvm assembler" (optLlvmAs opts) ["clang"] + llc <- findProgram "llc" (optLlc opts) ["llc"] <|> return (Program "llc" []) + opt <- findProgram "opt" (optOpt opts) ["opt"] <|> return (Program "opt" []) + llvmAs <- findProgram "llvm assembler" (optLlvmAs opts) ["clang"] <|> return (Program "clang" []) -- Windows-specific utilities windres <- @@ -515,9 +515,9 @@ mkTarget opts = do , tgtRanlib = ranlib , tgtNm = nm , tgtMergeObjs = mergeObjs - , tgtLlc = llc - , tgtOpt = opt - , tgtLlvmAs = llvmAs + , tgtLlc = Just llc + , tgtOpt = Just opt + , tgtLlvmAs = Just llvmAs , tgtWindres = windres , tgtOtool = otool , tgtInstallNameTool = installNameTool View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/9922faa74dcf7975def67ab82d27da05... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/9922faa74dcf7975def67ab82d27da05... You're receiving this email because of your account on gitlab.haskell.org.