diff options
| author | ruki <[email protected]> | 2024-05-11 12:25:49 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2024-05-11 12:25:49 +0800 |
| commit | 5c1dde0048109547f843cf9302cd553ad3375344 (patch) | |
| tree | 4ce83ecf0d46eef38d3178373e9a89ccb3ff981e | |
| parent | 149845abdec93c886779abfc705d5e4d0c527a9f (diff) | |
continue to use ar instead of gcc-ar
| -rw-r--r-- | xmake/modules/core/tools/gcc_ar.lua | 22 | ||||
| -rw-r--r-- | xmake/toolchains/cross/load.lua | 4 | ||||
| -rw-r--r-- | xmake/toolchains/gnu-rm/xmake.lua | 9 |
3 files changed, 2 insertions, 33 deletions
diff --git a/xmake/modules/core/tools/gcc_ar.lua b/xmake/modules/core/tools/gcc_ar.lua index f6834a20c..ecfdca92a 100644 --- a/xmake/modules/core/tools/gcc_ar.lua +++ b/xmake/modules/core/tools/gcc_ar.lua @@ -20,25 +20,3 @@ inherit("ar") --- make the link arguments list --- @see https://github.com/xmake-io/xmake/issues/5051 --- @note gcc-ar.exe does not support `gcc-ar.exe @file` -function linkargv(self, objectfiles, targetkind, targetfile, flags, opt) - local argv = table.join(flags, targetfile, objectfiles) - return self:program(), argv -end - --- link the library file -function link(self, objectfiles, targetkind, targetfile, flags, opt) - opt = opt or {} - os.mkdir(path.directory(targetfile)) - - -- @note remove the previous archived file first to force recreating a new file - os.tryrm(targetfile) - - -- link it - local program, argv = linkargv(self, objectfiles, targetkind, targetfile, flags, opt) - os.runv(program, argv, {envs = self:runenvs(), shell = opt.shell}) -end - - diff --git a/xmake/toolchains/cross/load.lua b/xmake/toolchains/cross/load.lua index f34b1fd58..540d12111 100644 --- a/xmake/toolchains/cross/load.lua +++ b/xmake/toolchains/cross/load.lua @@ -39,8 +39,8 @@ function main(toolchain) toolchain:add("toolset", "ld", cross .. "g++", cross .. "gcc", cross .. "clang++", cross .. "clang") toolchain:add("toolset", "sh", cross .. "g++", cross .. "gcc", cross .. "clang++", cross .. "clang") -- old gcc need gcc-ar for lto, @see https://github.com/xmake-io/xmake/issues/5015 - toolchain:add("toolset", "ar", cross .. "gcc-ar", cross .. "ar") - toolchain:add("toolset", "ranlib", cross .. "gcc-ranlib", cross .. "ranlib") + toolchain:add("toolset", "ar", cross .. "ar") + toolchain:add("toolset", "ranlib", cross .. "ranlib") toolchain:add("toolset", "strip", cross .. "strip") -- add bin search library for loading some dependent .dll files windows diff --git a/xmake/toolchains/gnu-rm/xmake.lua b/xmake/toolchains/gnu-rm/xmake.lua index 4a1751172..c6cf822a2 100644 --- a/xmake/toolchains/gnu-rm/xmake.lua +++ b/xmake/toolchains/gnu-rm/xmake.lua @@ -18,23 +18,14 @@ -- @file xmake.lua -- --- define toolchain toolchain("gnu-rm") - - -- set homepage set_homepage("https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm") set_description("GNU Arm Embedded Toolchain") - - -- mark as cross-complation toolchain set_kind("cross") - -- on load on_load(function (toolchain) - - -- load basic configuration of cross toolchain toolchain:load_cross_toolchain() - -- add basic flags toolchain:add("ldflags", "--specs=nosys.specs", "--specs=nano.specs", {force = true}) toolchain:add("shflags", "--specs=nosys.specs", "--specs=nano.specs", {force = true}) toolchain:add("syslinks", "c", "m") |
