diff options
| author | ruki <[email protected]> | 2025-11-17 23:56:44 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2025-11-17 23:56:44 +0800 |
| commit | 9b91cb225b0036464770a52ed48661dae9922d2a (patch) | |
| tree | 4e6ab07543c3208a35310a0c35fefaf8ac2e349b | |
| parent | 1122dba23f4d74a6be13a23ecd96fa458b9b5813 (diff) | |
improve to extract symbols
| -rw-r--r-- | xmake/rules/utils/symbols/extract/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/clang/toolchain_clang.lua | 3 | ||||
| -rw-r--r-- | xmake/toolchains/llvm/xmake.lua | 3 |
3 files changed, 7 insertions, 1 deletions
diff --git a/xmake/rules/utils/symbols/extract/xmake.lua b/xmake/rules/utils/symbols/extract/xmake.lua index b9fd816eb..92abd3df3 100644 --- a/xmake/rules/utils/symbols/extract/xmake.lua +++ b/xmake/rules/utils/symbols/extract/xmake.lua @@ -103,7 +103,7 @@ rule("utils.symbols.extract") -- strip it local strip_argv = {} - if target:is_plat("macosx", "iphoneos", "watchos") then + if target:is_plat("macosx", "iphoneos", "watchos") and not strip:find("llvm-strip", 1, true) then -- do not support `-s`, we can only strip debug symbols local arch = target:arch() if arch then diff --git a/xmake/toolchains/clang/toolchain_clang.lua b/xmake/toolchains/clang/toolchain_clang.lua index c22bd3d75..b1e59356f 100644 --- a/xmake/toolchains/clang/toolchain_clang.lua +++ b/xmake/toolchains/clang/toolchain_clang.lua @@ -42,6 +42,9 @@ function toolchain_clang(version) set_toolset("as", "clang" .. suffix) set_toolset("mrc", "llvm-rc" .. suffix) set_toolset("dlltool", "llvm-dlltool" .. suffix) + if is_host("macosx") then + set_toolset("dsymutil", "dsymutil") + end on_check(function (toolchain) if toolchain:is_plat("windows") then diff --git a/xmake/toolchains/llvm/xmake.lua b/xmake/toolchains/llvm/xmake.lua index b1cf68d5c..d4557071c 100644 --- a/xmake/toolchains/llvm/xmake.lua +++ b/xmake/toolchains/llvm/xmake.lua @@ -38,6 +38,9 @@ toolchain("llvm") set_toolset("objcopy", "llvm-objcopy") set_toolset("mrc", "llvm-rc") set_toolset("dlltool", "llvm-dlltool") + if is_host("macosx") then + set_toolset("dsymutil", "dsymutil") + end set_toolset("sc", "$(env SC)", "swift-frontend", "swiftc") set_toolset("scsh", "$(env SC)", "swiftc") |
