summaryrefslogtreecommitdiff
path: root/xmake/modules/detect/sdks/find_ndk.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2018-11-15 00:49:25 +0800
committerruki <[email protected]>2018-11-14 22:56:32 +0800
commitb0cabeb7b3e21380073df6521cc9027b5ac3f1ca (patch)
tree0f939b5ff941ea68af717804035328d60000315c /xmake/modules/detect/sdks/find_ndk.lua
parent1feb7be8eca85f724b52fa875951179c52f9d018 (diff)
improve to build for android ndk
Diffstat (limited to 'xmake/modules/detect/sdks/find_ndk.lua')
-rw-r--r--xmake/modules/detect/sdks/find_ndk.lua15
1 files changed, 12 insertions, 3 deletions
diff --git a/xmake/modules/detect/sdks/find_ndk.lua b/xmake/modules/detect/sdks/find_ndk.lua
index 9c9f727c3..130ad220a 100644
--- a/xmake/modules/detect/sdks/find_ndk.lua
+++ b/xmake/modules/detect/sdks/find_ndk.lua
@@ -91,7 +91,10 @@ function _find_ndk(sdkdir, arch, ndk_sdkver, ndk_toolchains_ver)
local cross = arm64 and "aarch64-linux-android-" or "arm-linux-androideabi-"
-- find the binary directory
- local bindir = find_directory("bin", path.join(sdkdir, "toolchains", cross .. "*", "prebuilt", "*"))
+ local bindir = find_directory("bin", path.join(sdkdir, "toolchains", "llvm", "prebuilt", "*")) -- larger than ndk r16
+ if not bindir then
+ bindir = find_directory("bin", path.join(sdkdir, "toolchains", cross .. "*", "prebuilt", "*"))
+ end
if not bindir then
return {}
end
@@ -102,14 +105,20 @@ function _find_ndk(sdkdir, arch, ndk_sdkver, ndk_toolchains_ver)
return {}
end
+ -- find the gcc toolchain
+ local gcc_toolchain = find_directory("bin", path.join(sdkdir, "toolchains", cross .. "*", "prebuilt", "*"))
+ if gcc_toolchain then
+ gcc_toolchain = path.directory(gcc_toolchain)
+ end
+
-- find the toolchains version
- local toolchains_ver = ndk_toolchains_ver or _find_ndk_toolchains_ver(bindir)
+ local toolchains_ver = ndk_toolchains_ver or _find_ndk_toolchains_ver(gcc_toolchain or bindir)
if not toolchains_ver then
return {}
end
-- ok?
- return {sdkdir = sdkdir, bindir = bindir, cross = cross, sdkver = sdkver, toolchains_ver = toolchains_ver}
+ return {sdkdir = sdkdir, bindir = bindir, cross = cross, sdkver = sdkver, gcc_toolchain = gcc_toolchain, toolchains_ver = toolchains_ver}
end
-- find ndk toolchains