diff options
| author | ruki <[email protected]> | 2025-05-18 22:51:11 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2025-05-18 22:51:11 +0800 |
| commit | a0db85a02c45598fd64b9811407a023b68e8b055 (patch) | |
| tree | a3972786207c0d30ed0c5c953a76509aa81cdb3a | |
| parent | 285b19a586c31295d4164d948d25c79f2914cd76 (diff) | |
improve llvm cross-compilation
| -rw-r--r-- | xmake/toolchains/llvm/check.lua | 5 | ||||
| -rw-r--r-- | xmake/toolchains/llvm/xmake.lua | 9 |
2 files changed, 8 insertions, 6 deletions
diff --git a/xmake/toolchains/llvm/check.lua b/xmake/toolchains/llvm/check.lua index a398d26df..69ad691e8 100644 --- a/xmake/toolchains/llvm/check.lua +++ b/xmake/toolchains/llvm/check.lua @@ -84,7 +84,7 @@ function main(toolchain) end -- find cross toolchain from external envirnoment - local cross_toolchain = find_cross_toolchain(sdkdir, {bindir = bindir, cross = cross}) + local cross_toolchain = find_cross_toolchain(sdkdir, {bindir = bindir}) if not cross_toolchain then -- find it from packages for _, package in ipairs(toolchain:packages()) do @@ -98,7 +98,7 @@ function main(toolchain) end end if cross_toolchain then - toolchain:config_set("cross", cross_toolchain.cross) + toolchain:config_set("cross", cross) toolchain:config_set("bindir", cross_toolchain.bindir) toolchain:config_set("sdkdir", cross_toolchain.sdkdir) toolchain:configs_save() @@ -116,3 +116,4 @@ function main(toolchain) end return cross_toolchain end + diff --git a/xmake/toolchains/llvm/xmake.lua b/xmake/toolchains/llvm/xmake.lua index 57638e4f6..2960858be 100644 --- a/xmake/toolchains/llvm/xmake.lua +++ b/xmake/toolchains/llvm/xmake.lua @@ -59,10 +59,6 @@ toolchain("llvm") end toolchain:add("ldflags", "-fuse-ld=lld") toolchain:add("shflags", "-fuse-ld=lld") - elseif toolchain:is_arch("x86_64", "x64") then - march = "-m64" - elseif toolchain:is_arch("i386", "x86") then - march = "-m32" elseif toolchain:is_plat("cross") then local sysroot local sdkdir = toolchain:sdkdir() @@ -90,6 +86,10 @@ toolchain("llvm") toolchain:add("ldflags", "--sysroot=" .. sysroot) toolchain:add("shflags", "--sysroot=" .. sysroot) end + elseif toolchain:is_arch("x86_64", "x64") then + march = "-m64" + elseif toolchain:is_arch("i386", "x86") then + march = "-m32" end if march then toolchain:add("cxflags", march) @@ -129,3 +129,4 @@ toolchain("llvm") toolchain:add("runenvs", "PATH", bindir) end end) + |
