diff options
| author | ruki <[email protected]> | 2020-05-20 22:46:16 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-05-20 10:37:38 +0800 |
| commit | 59caa4b16d0f8ab122338d7dfbcd461cc6017324 (patch) | |
| tree | 8bc6fe0c28a107f1e7cb38610ad85fd10f6ec567 | |
| parent | edfbe8654b25fa4ac5455f7dfc2c4a49de8dd121 (diff) | |
improve llvm toolchain on linux
| -rw-r--r-- | xmake/toolchains/llvm/check.lua | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/xmake/toolchains/llvm/check.lua b/xmake/toolchains/llvm/check.lua index 6a5bd874d..04d4d6dec 100644 --- a/xmake/toolchains/llvm/check.lua +++ b/xmake/toolchains/llvm/check.lua @@ -25,17 +25,22 @@ import("detect.sdks.find_cross_toolchain") -- check the cross toolchain function main(toolchain) + -- get sdk directory + local sdkdir = config.get("sdk") + local bindir = config.get("bin") + if not sdkdir and not bindir then + if is_plat("linux") and os.isfile("/usr/bin/llvm-ar") then + sdkdir = "/usr" + end + end + -- find cross toolchain - local cross_toolchain = find_cross_toolchain(config.get("sdk") or config.get("bin"), {bindir = config.get("bin"), cross = config.get("cross")}) + local cross_toolchain = find_cross_toolchain(sdkdir, {bindir = bindir}) if cross_toolchain then config.set("cross", cross_toolchain.cross, {readonly = true, force = true}) config.set("bin", cross_toolchain.bindir, {readonly = true, force = true}) else - -- failed - cprint("${bright color.error}cross toolchain not found, please run:") - cprint(" - xmake config --sdk=xxx") - cprint("or - xmake global --sdk=xxx") - raise() + raise("llvm toolchain not found!") end return cross_toolchain end |
