summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2025-04-09 23:01:55 +0800
committerruki <[email protected]>2025-04-09 23:01:55 +0800
commit7b4ba90c3d9b92d2011f78d5373f5850de2dcccf (patch)
tree455699663ee75210b6e74a23f519e298a7010fbd
parent117ae687a27f34cf183e967e8688eb3d7e8e4f81 (diff)
fix target_utils
-rw-r--r--xmake/actions/build/builtin/build_binary.lua38
-rw-r--r--xmake/actions/build/builtin/build_moduleonly.lua26
-rw-r--r--xmake/actions/build/builtin/build_object.lua26
-rw-r--r--xmake/actions/build/builtin/build_shared.lua26
-rw-r--r--xmake/actions/build/builtin/build_static.lua26
-rw-r--r--xmake/actions/build/builtin/link_objects.lua68
-rw-r--r--xmake/actions/build/builtin/prepare_files.lua27
-rw-r--r--xmake/actions/build/deprecated/kinds/binary.lua2
-rw-r--r--xmake/actions/build/deprecated/kinds/shared.lua2
-rw-r--r--xmake/actions/build/deprecated/kinds/static.lua2
10 files changed, 3 insertions, 240 deletions
diff --git a/xmake/actions/build/builtin/build_binary.lua b/xmake/actions/build/builtin/build_binary.lua
deleted file mode 100644
index 3eb376757..000000000
--- a/xmake/actions/build/builtin/build_binary.lua
+++ /dev/null
@@ -1,38 +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 build_binary.lua
---
-
--- imports
-import("build_object")
-import(".target_utils")
-
-function main(jobgraph, target)
- local objects_group = target:fullname() .. "/objects"
- local jobsize = jobgraph:size()
- jobgraph:group(objects_group, function ()
- build_object(jobgraph, target)
- end)
- if jobgraph:size() > jobsize then
- local link_group = target:fullname() .. "/link"
- jobgraph:group(link_group, function ()
- target_utils.add_linkjobs(jobgraph, target)
- end)
- jobgraph:add_orders(objects_group, link_group)
- end
-end
diff --git a/xmake/actions/build/builtin/build_moduleonly.lua b/xmake/actions/build/builtin/build_moduleonly.lua
deleted file mode 100644
index e3cc87c27..000000000
--- a/xmake/actions/build/builtin/build_moduleonly.lua
+++ /dev/null
@@ -1,26 +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 build_moduleonly.lua
---
-
--- imports
-import("build_object")
-
-function main(jobgraph, target)
- build_object(jobgraph, target)
-end
diff --git a/xmake/actions/build/builtin/build_object.lua b/xmake/actions/build/builtin/build_object.lua
deleted file mode 100644
index 82268c1e7..000000000
--- a/xmake/actions/build/builtin/build_object.lua
+++ /dev/null
@@ -1,26 +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 build_object.lua
---
-
--- imports
-import(".target_utils")
-
-function main(jobgraph, target)
- target_utils.add_filejobs(jobgraph, target, {job_kind = "build"})
-end
diff --git a/xmake/actions/build/builtin/build_shared.lua b/xmake/actions/build/builtin/build_shared.lua
deleted file mode 100644
index 077489710..000000000
--- a/xmake/actions/build/builtin/build_shared.lua
+++ /dev/null
@@ -1,26 +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 build_shared.lua
---
-
--- imports
-import("build_binary")
-
-function main(jobgraph, target)
- build_binary(jobgraph, target)
-end
diff --git a/xmake/actions/build/builtin/build_static.lua b/xmake/actions/build/builtin/build_static.lua
deleted file mode 100644
index 8b9b2ffaf..000000000
--- a/xmake/actions/build/builtin/build_static.lua
+++ /dev/null
@@ -1,26 +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 build_static.lua
---
-
--- imports
-import("build_binary")
-
-function main(jobgraph, target)
- build_binary(jobgraph, target)
-end
diff --git a/xmake/actions/build/builtin/link_objects.lua b/xmake/actions/build/builtin/link_objects.lua
deleted file mode 100644
index 13a38d0cf..000000000
--- a/xmake/actions/build/builtin/link_objects.lua
+++ /dev/null
@@ -1,68 +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 link_objects.lua
---
-
--- imports
-import("core.base.option")
-import("core.tool.linker")
-import("core.tool.compiler")
-import("core.project.depend")
-import("utils.progress")
-import("build_object")
-import(".target_utils")
-
--- do link target
-function _do_link_target(target, opt)
- local linkinst = linker.load(target:kind(), target:sourcekinds(), {target = target})
- local linkflags = linkinst:linkflags({target = target})
-
- -- need build this target?
- local depfiles = target_utils.get_linkdepfiles(target)
- local dryrun = option.get("dry-run")
- local depvalues = {linkinst:program(), linkflags}
- depend.on_changed(function ()
- local filename = target:filename()
- if target:namespace() then
- filename = target:namespace() .. "::" .. filename
- end
- progress.show(opt.progress, "${color.build.target}linking.$(mode) %s", filename)
-
- local targetfile = target:targetfile()
- local objectfiles = target:objectfiles()
- local verbose = option.get("verbose")
- if verbose then
- -- show the full link command with raw arguments, it will expand @xxx.args for msvc/link on windows
- print(linkinst:linkcmd(objectfiles, targetfile, {linkflags = linkflags, rawargs = true}))
- end
-
- if not dryrun then
- assert(linkinst:link(objectfiles, targetfile, {linkflags = linkflags}))
- end
- end, {dependfile = target:dependfile(),
- lastmtime = os.mtime(target:targetfile()),
- changed = target:is_rebuilt() or option.get("linkonly"),
- values = depvalues, files = depfiles, dryrun = dryrun})
-end
-
-function main(jobgraph, target)
- local linkjob = target:fullname() .. "/link_objects"
- jobgraph:add(linkjob, function (index, total, opt)
- _do_link_target(target, opt)
- end)
-end
diff --git a/xmake/actions/build/builtin/prepare_files.lua b/xmake/actions/build/builtin/prepare_files.lua
deleted file mode 100644
index 320d8cebb..000000000
--- a/xmake/actions/build/builtin/prepare_files.lua
+++ /dev/null
@@ -1,27 +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 prepare_files.lua
---
-
--- imports
-import("core.base.option")
-import(".target_utils")
-
-function main(jobgraph, target)
- target_utils.add_filejobs(jobgraph, target, {job_kind = "prepare"})
-end
diff --git a/xmake/actions/build/deprecated/kinds/binary.lua b/xmake/actions/build/deprecated/kinds/binary.lua
index 73962becc..727e56857 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("..target_utils")
+import("private.utils.target", {alias = "target_utils"})
-- do link target
function _do_link_target(target, opt)
diff --git a/xmake/actions/build/deprecated/kinds/shared.lua b/xmake/actions/build/deprecated/kinds/shared.lua
index 9b91d67e3..1c24f6009 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("..target_utils")
+import("private.utils.target", {alias = "target_utils"})
-- do link target
function _do_link_target(target, opt)
diff --git a/xmake/actions/build/deprecated/kinds/static.lua b/xmake/actions/build/deprecated/kinds/static.lua
index 7057395f9..e6cc0fb44 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("..target_utils")
+import("private.utils.target", {alias = "target_utils"})
-- do link target
function _do_link_target(target, opt)