summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJérôme Leclercq <[email protected]>2024-06-12 15:59:52 +0200
committerGitHub <[email protected]>2024-06-12 15:59:52 +0200
commit8b28904ef5ecd20b0ceea3f38e35a655b2651627 (patch)
treedd6332f2d34c53dd6cb432cc2258af3ce1666ccd
parent33f3078f4dc7f1f804c91a3d0e30f61bd5f75d02 (diff)
ndk: fix error if ndk has spaces
-rw-r--r--xmake/toolchains/ndk/load.lua29
1 files changed, 16 insertions, 13 deletions
diff --git a/xmake/toolchains/ndk/load.lua b/xmake/toolchains/ndk/load.lua
index 93df46e61..5525d00d2 100644
--- a/xmake/toolchains/ndk/load.lua
+++ b/xmake/toolchains/ndk/load.lua
@@ -171,21 +171,24 @@ function main(toolchain)
toolchain:add("cxflags", "-D__ANDROID_API__=" .. ndk_sdkver)
toolchain:add("asflags", "-D__ANDROID_API__=" .. ndk_sdkver)
end
- toolchain:add("cflags", "--sysroot=" .. ndk_sysroot)
- toolchain:add("cxxflags","--sysroot=" .. ndk_sysroot)
- toolchain:add("asflags", "--sysroot=" .. ndk_sysroot)
- toolchain:add("cflags", "-isystem " .. path.join(ndk_sysroot, "usr", "include", triple))
- toolchain:add("cxxflags","-isystem " .. path.join(ndk_sysroot, "usr", "include", triple))
- toolchain:add("asflags", "-isystem " .. path.join(ndk_sysroot, "usr", "include", triple))
+ local flag_sysroot = "--sysroot=" .. os.args(ndk_sysroot)
+ local flag_isystem = "-isystem " .. os.args(path.join(ndk_sysroot, "usr", "include", triple))
+ toolchain:add("cflags", flag_sysroot)
+ toolchain:add("cxxflags", flag_sysroot)
+ toolchain:add("asflags", flag_sysroot)
+ toolchain:add("cflags", flag_isystem)
+ toolchain:add("cxxflags", flag_isystem)
+ toolchain:add("asflags", flag_isystem)
else
local ndk_sdkdir = path.translate(format("%s/platforms/android-%d", ndk, ndk_sdkver))
if os.isdir(ndk_sdkdir) then
if sysroot_arch then
- toolchain:add("cflags", format("--sysroot=%s/%s", ndk_sdkdir, sysroot_arch))
- toolchain:add("cxxflags", format("--sysroot=%s/%s", ndk_sdkdir, sysroot_arch))
- toolchain:add("asflags", format("--sysroot=%s/%s", ndk_sdkdir, sysroot_arch))
- toolchain:add("ldflags", format("--sysroot=%s/%s", ndk_sdkdir, sysroot_arch))
- toolchain:add("shflags", format("--sysroot=%s/%s", ndk_sdkdir, sysroot_arch))
+ local flag_sysroot = "--sysroot=" .. os.args(path.join(ndk_sdkdir, sysroot_arch))
+ toolchain:add("cflags", flag_sysroot)
+ toolchain:add("cxxflags", flag_sysroot)
+ toolchain:add("asflags", flag_sysroot)
+ toolchain:add("ldflags", flag_sysroot)
+ toolchain:add("shflags", flag_sysroot)
end
end
end
@@ -318,8 +321,8 @@ function main(toolchain)
-- The NDK's libc++ now comes directly from our LLVM toolchain above 26b
-- https://github.com/xmake-io/xmake/issues/4614
if ndk_cxxstl == "c++_static" then
- toolchain:add("ldflags", "-static-libstdc++", "-lc++abi")
- toolchain:add("shflags", "-static-libstdc++", "-lc++abi")
+ toolchain:add("ldflags", "-static-libstdc++")
+ toolchain:add("shflags", "-static-libstdc++")
if arm32 then
toolchain:add("syslinks", "unwind", "atomic")
end