diff options
| author | ruki <[email protected]> | 2025-03-29 22:46:03 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2025-04-08 15:31:56 +0800 |
| commit | 4cebb90c10ea682b66a0f112a0aadddc8b9d8bc2 (patch) | |
| tree | 98e27d9cf5d556625ad7eeedcbb901e3376f98e3 | |
| parent | c167aa90ca9a0000b7933a9df9306d18dee60f5c (diff) | |
move linkdepfiles
| -rw-r--r-- | xmake/actions/build/builtin/build_binary.lua | 4 | ||||
| -rw-r--r-- | xmake/actions/build/builtin/linkdepfiles.lua | 39 | ||||
| -rw-r--r-- | xmake/actions/build/deprecated/kinds/binary.lua | 4 | ||||
| -rw-r--r-- | xmake/actions/build/deprecated/kinds/shared.lua | 4 | ||||
| -rw-r--r-- | xmake/actions/build/deprecated/kinds/static.lua | 4 | ||||
| -rw-r--r-- | xmake/actions/build/target_utils.lua | 20 |
6 files changed, 28 insertions, 47 deletions
diff --git a/xmake/actions/build/builtin/build_binary.lua b/xmake/actions/build/builtin/build_binary.lua index 7b9b7d7b9..1e51d29f4 100644 --- a/xmake/actions/build/builtin/build_binary.lua +++ b/xmake/actions/build/builtin/build_binary.lua @@ -26,8 +26,8 @@ import("core.tool.compiler") import("core.project.depend") import("utils.progress") import("private.utils.batchcmds") -import("linkdepfiles", {alias = "get_linkdepfiles"}) import("build_object") +import(".target_utils") -- do link target function _do_link_target(target, opt) @@ -35,7 +35,7 @@ function _do_link_target(target, opt) local linkflags = linkinst:linkflags({target = target}) -- need build this target? - local depfiles = get_linkdepfiles(target) + local depfiles = target_utils.get_linkdepfiles(target) local dryrun = option.get("dry-run") local depvalues = {linkinst:program(), linkflags} depend.on_changed(function () diff --git a/xmake/actions/build/builtin/linkdepfiles.lua b/xmake/actions/build/builtin/linkdepfiles.lua deleted file mode 100644 index f96e532fc..000000000 --- a/xmake/actions/build/builtin/linkdepfiles.lua +++ /dev/null @@ -1,39 +0,0 @@ ---!A cross-platform build utility based on Lua --- --- Licensed under the Apache License, Version 2.0 (the "License"); --- you may not use this file except in compliance with the License. --- You may obtain a copy of the License at --- --- http://www.apache.org/licenses/LICENSE-2.0 --- --- Unless required by applicable law or agreed to in writing, software --- distributed under the License is distributed on an "AS IS" BASIS, --- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --- See the License for the specific language governing permissions and --- limitations under the License. --- --- Copyright (C) 2015-present, TBOOX Open Source Group. --- --- @author ruki --- @file linkdepfiles.lua --- - --- get link depfiles -function main(target) - local extrafiles = {} - for _, dep in ipairs(target:orderdeps()) do - if dep:kind() == "static" then - table.insert(extrafiles, dep:targetfile()) - end - end - local linkdepfiles = target:data("linkdepfiles") - if linkdepfiles then - table.join2(extrafiles, linkdepfiles) - end - local objectfiles = target:objectfiles() - local depfiles = objectfiles - if #extrafiles > 0 then - depfiles = table.join(objectfiles, extrafiles) - end - return depfiles -end diff --git a/xmake/actions/build/deprecated/kinds/binary.lua b/xmake/actions/build/deprecated/kinds/binary.lua index fddc4c8bf..73962becc 100644 --- a/xmake/actions/build/deprecated/kinds/binary.lua +++ b/xmake/actions/build/deprecated/kinds/binary.lua @@ -27,7 +27,7 @@ import("core.project.depend") import("utils.progress") import("private.utils.batchcmds") import("object", {alias = "object_target"}) -import("..builtin.linkdepfiles", {alias = "get_linkdepfiles"}) +import("..target_utils") -- do link target function _do_link_target(target, opt) @@ -35,7 +35,7 @@ function _do_link_target(target, opt) local linkflags = linkinst:linkflags({target = target}) -- need build this target? - local depfiles = get_linkdepfiles(target) + local depfiles = target_utils.get_linkdepfiles(target) local dryrun = option.get("dry-run") local depvalues = {linkinst:program(), linkflags} depend.on_changed(function () diff --git a/xmake/actions/build/deprecated/kinds/shared.lua b/xmake/actions/build/deprecated/kinds/shared.lua index 2b53e98e8..9b91d67e3 100644 --- a/xmake/actions/build/deprecated/kinds/shared.lua +++ b/xmake/actions/build/deprecated/kinds/shared.lua @@ -27,7 +27,7 @@ import("core.project.depend") import("utils.progress") import("private.utils.batchcmds") import("object", {alias = "object_target"}) -import("..builtin.linkdepfiles", {alias = "get_linkdepfiles"}) +import("..target_utils") -- do link target function _do_link_target(target, opt) @@ -35,7 +35,7 @@ function _do_link_target(target, opt) local linkflags = linkinst:linkflags({target = target}) -- need build this target? - local depfiles = get_linkdepfiles(target) + local depfiles = target_utils.get_linkdepfiles(target) local dryrun = option.get("dry-run") local depvalues = {linkinst:program(), linkflags} depend.on_changed(function () diff --git a/xmake/actions/build/deprecated/kinds/static.lua b/xmake/actions/build/deprecated/kinds/static.lua index 21fc253b5..7057395f9 100644 --- a/xmake/actions/build/deprecated/kinds/static.lua +++ b/xmake/actions/build/deprecated/kinds/static.lua @@ -27,7 +27,7 @@ import("core.project.depend") import("utils.progress") import("private.utils.batchcmds") import("object", {alias = "object_target"}) -import("..builtin.linkdepfiles", {alias = "get_linkdepfiles"}) +import("..target_utils") -- do link target function _do_link_target(target, opt) @@ -35,7 +35,7 @@ function _do_link_target(target, opt) local linkflags = linkinst:linkflags({target = target}) -- need build this target? - local depfiles = get_linkdepfiles(target) + local depfiles = target_utils.get_linkdepfiles(target) local dryrun = option.get("dry-run") local depvalues = {linkinst:program(), linkflags} depend.on_changed(function () diff --git a/xmake/actions/build/target_utils.lua b/xmake/actions/build/target_utils.lua index dfb21b23f..1ff2ccdad 100644 --- a/xmake/actions/build/target_utils.lua +++ b/xmake/actions/build/target_utils.lua @@ -548,6 +548,26 @@ function get_filejobs(targets_root, opt) return jobgraph end +-- get link depfiles +function get_linkdepfiles(target) + local extrafiles = {} + for _, dep in ipairs(target:orderdeps()) do + if dep:kind() == "static" then + table.insert(extrafiles, dep:targetfile()) + end + end + local linkdepfiles = target:data("linkdepfiles") + if linkdepfiles then + table.join2(extrafiles, linkdepfiles) + end + local objectfiles = target:objectfiles() + local depfiles = objectfiles + if #extrafiles > 0 then + depfiles = table.join(objectfiles, extrafiles) + end + return depfiles +end + -- get all root targets function get_root_targets(targetnames, opt) opt = opt or {} |
