improve to find llvm

pull/1795/head
ruki 2 years ago
parent 5e99992b32
commit b310d3c8bb
  1. 15
      packages/l/llvm/xmake.lua

@ -49,7 +49,7 @@ package("llvm")
add_configs("mlir", {description = "Enable mlir project.", default = false, type = "boolean"})
add_configs("flang", {description = "Enable flang project.", default = false, type = "boolean"})
add_configs("compiler-rt", {description = "Enable compiler-rt project.", default = true, type = "boolean"})
add_configs("libunwind", {description = "Enable libunwind runtime.", default = true, type = "boolean"})
add_configs("libc", {description = "Enable libc runtime.", default = false, type = "boolean"})
add_configs("libcxx", {description = "Enable libcxx runtime.", default = true, type = "boolean"})
@ -71,7 +71,18 @@ package("llvm")
on_fetch(function (package, opt)
if opt.system then
local version = try {function() return os.iorunv("llvm-config --version") end}
local llvm_config = "llvm-config"
if is_host("macosx") then
import("lib.detect.find_tool")
local llvm = try {function () return os.iorunv("brew", {"--prefix", "llvm"}) end}
if llvm then
local ret = find_tool("llvm-config", {paths = path.join(llvm:trim(), "bin")})
if ret then
llvm_config = ret.program
end
end
end
local version = try {function() return os.iorunv(llvm_config, {"--version"}) end}
if version then
return {version = version:trim()}
end

Loading…
Cancel
Save