summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorA2va <[email protected]>2024-09-03 17:01:02 +0200
committerA2va <[email protected]>2024-09-03 17:01:02 +0200
commit61f7ab42feaabd5bca4f38a47f218203d19b3a6c (patch)
tree4d24ad357fc196e14b28c36e378db4d6e9b8d30b
parentf20c40bf589088ee7738740f73af3504fbfb3317 (diff)
Add runtimes only if the ndk version is low enough
and a warning, if the current config have a deprecated runtime
-rw-r--r--xmake/toolchains/ndk/load.lua11
-rw-r--r--xmake/toolchains/ndk/xmake.lua2
2 files changed, 12 insertions, 1 deletions
diff --git a/xmake/toolchains/ndk/load.lua b/xmake/toolchains/ndk/load.lua
index 98c08faa5..913e89d02 100644
--- a/xmake/toolchains/ndk/load.lua
+++ b/xmake/toolchains/ndk/load.lua
@@ -93,6 +93,13 @@ function main(toolchain)
toolchain:set("toolset", "ranlib", gcc_toolchain_bin and path.join(gcc_toolchain_bin, cross .. "ranlib") or (cross .. "ranlib"))
toolchain:set("toolset", "strip", gcc_toolchain_bin and path.join(gcc_toolchain_bin, cross .. "strip") or (cross .. "strip"), "llvm-strip")
+ -- gnustl and stlport have been removed in ndk r18 (deprecated in ndk r17)
+ -- https://github.com/android/ndk/wiki/Changelog-r18
+ local old_runtimes = {"gnustl_static", "gnustl_shared", "stlport_static", "stlport_shared"}
+ if ndk_sdkver < 18 then
+ toolchain:add("runtimes", tabl.unpack(old_runtimes))
+ end
+
-- init flags
local arm32 = false
local arch = toolchain:arch()
@@ -213,6 +220,10 @@ function main(toolchain)
local cxxstl_sdkdir = nil
local ndk_cxxstl = config.get("runtimes") or config.get("ndk_cxxstl")
if ndk_cxxstl then
+ if (ndk_sdkver >= 18) and table.contains(old_runtimes, ndk_cxxstl) then
+ utils.warning("%s is was removed in ndk v%s", ndk_cxxstl, ndk_sdkver)
+ end
+
if ndk_cxxstl:find(",", 1, true) then
local runtimes_supported = hashset.from(toolchain:get("runtimes"))
for _, item in ipairs(ndk_cxxstl:split(",")) do
diff --git a/xmake/toolchains/ndk/xmake.lua b/xmake/toolchains/ndk/xmake.lua
index 108d52275..4f50f95cb 100644
--- a/xmake/toolchains/ndk/xmake.lua
+++ b/xmake/toolchains/ndk/xmake.lua
@@ -33,7 +33,7 @@ toolchain("ndk")
set_kind("standalone")
set_homepage("https://developer.android.com/ndk")
set_description("Android NDK")
- set_runtimes("c++_static", "c++_shared", "gnustl_static", "gnustl_shared", "stlport_static", "stlport_shared")
+ set_runtimes("c++_static", "c++_shared")
on_check("check")
on_load("load")