summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2024-05-11 06:49:18 +0800
committerGitHub <[email protected]>2024-05-11 06:49:18 +0800
commit2e3a31be034dd4fab8cd0cb206efa30a35897020 (patch)
tree2c0ff3bd4263b94672dc17c8daec4d0c80a3fc1c
parentc70dcbf65396608ebe53cf2941960cb84a931d15 (diff)
parentede75a4339d1aefabb440313e6d496c27e5dbb0a (diff)
Merge pull request #5083 from xmake-io/runtime
add c++abi
-rw-r--r--xmake/modules/core/tools/clang.lua2
-rw-r--r--xmake/toolchains/ndk/load.lua4
2 files changed, 3 insertions, 3 deletions
diff --git a/xmake/modules/core/tools/clang.lua b/xmake/modules/core/tools/clang.lua
index 76a1f773b..a7e5b1d11 100644
--- a/xmake/modules/core/tools/clang.lua
+++ b/xmake/modules/core/tools/clang.lua
@@ -271,7 +271,7 @@ function nf_runtime(self, runtime, opt)
local target = opt.target or opt
local is_cxx = target and (target.sourcekinds and table.contains(table.wrap(target:sourcekinds()), "cxx"))
if is_cxx then
- maps["c++_static"] = "-stdlib=libc++"
+ maps["c++_static"] = {"-stdlib=libc++", "-lc++abi"}
maps["c++_shared"] = "-stdlib=libc++"
maps["stdc++_static"] = "-stdlib=libstdc++"
maps["stdc++_shared"] = "-stdlib=libstdc++"
diff --git a/xmake/toolchains/ndk/load.lua b/xmake/toolchains/ndk/load.lua
index 4e60f0075..93df46e61 100644
--- a/xmake/toolchains/ndk/load.lua
+++ b/xmake/toolchains/ndk/load.lua
@@ -318,8 +318,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++")
- toolchain:add("shflags", "-static-libstdc++")
+ toolchain:add("ldflags", "-static-libstdc++", "-lc++abi")
+ toolchain:add("shflags", "-static-libstdc++", "-lc++abi")
if arm32 then
toolchain:add("syslinks", "unwind", "atomic")
end