summaryrefslogtreecommitdiff
path: root/xmake/core/tool
diff options
context:
space:
mode:
authorruki <[email protected]>2021-02-03 00:48:11 +0800
committerruki <[email protected]>2021-02-03 00:48:11 +0800
commitfdda430c2af3e036683be7c2c4a2fcc37e5d08b8 (patch)
treea58362984d1aee304bb65641272ddad610d85381 /xmake/core/tool
parenta76aab983d3acb30cf8138bffbc4f755c649fb30 (diff)
improve cross-toolchain
Diffstat (limited to 'xmake/core/tool')
-rw-r--r--xmake/core/tool/toolchain.lua15
1 files changed, 12 insertions, 3 deletions
diff --git a/xmake/core/tool/toolchain.lua b/xmake/core/tool/toolchain.lua
index fe3ee3291..d2086bda0 100644
--- a/xmake/core/tool/toolchain.lua
+++ b/xmake/core/tool/toolchain.lua
@@ -142,9 +142,18 @@ function _instance:kind()
return self:info():get("kind")
end
+-- is cross-compilation toolchain
+function _instance:cross_toolchain()
+ if self:kind() == "cross" then
+ return true
+ elseif self:kind() == "standalone" and (self:cross() or self:sdkdir()) then
+ return true
+ end
+end
+
-- is standalone toolchain?
function _instance:standalone()
- return self:kind() == "standalone"
+ return self:kind() == "standalone" or self:kind() == "cross"
end
-- global toolchain for whole platform
@@ -283,7 +292,7 @@ end
-- on check (builtin)
function _instance:_on_check()
local on_check = self:info():get("check")
- if not on_check and self:standalone() and (self:cross() or self:sdkdir()) then
+ if not on_check and self:cross_toolchain() then
on_check = self.check_cross_toolchain
end
return on_check
@@ -292,7 +301,7 @@ end
-- on load (builtin)
function _instance:_on_load()
local on_load = self:info():get("load")
- if not on_load and self:standalone() and (self:cross() or self:sdkdir()) then
+ if not on_load and self:cross_toolchain() then
on_load = self.load_cross_toolchain
end
return on_load