summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2024-05-11 12:25:49 +0800
committerruki <[email protected]>2024-05-11 12:25:49 +0800
commit5c1dde0048109547f843cf9302cd553ad3375344 (patch)
tree4ce83ecf0d46eef38d3178373e9a89ccb3ff981e
parent149845abdec93c886779abfc705d5e4d0c527a9f (diff)
continue to use ar instead of gcc-ar
-rw-r--r--xmake/modules/core/tools/gcc_ar.lua22
-rw-r--r--xmake/toolchains/cross/load.lua4
-rw-r--r--xmake/toolchains/gnu-rm/xmake.lua9
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")