summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2024-03-23 00:44:39 +0800
committerruki <[email protected]>2024-03-23 00:44:39 +0800
commita3a7f76fe2f10792cedf4198d2b5db51f64cb721 (patch)
treecc860ae37569900d9c91fdfc89abcd814acf522a
parent9d0df4ca022d1f2ee74801c84e4930422a681ba9 (diff)
improve package:toolchain
-rw-r--r--xmake/core/package/package.lua3
-rw-r--r--xmake/modules/package/tools/autoconf.lua2
-rw-r--r--xmake/modules/package/tools/cmake.lua2
3 files changed, 5 insertions, 2 deletions
diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua
index c480d9b6c..d1a082890 100644
--- a/xmake/core/package/package.lua
+++ b/xmake/core/package/package.lua
@@ -1165,6 +1165,9 @@ function _instance:toolchain(name)
end
self:_memcache():set("toolchains_map", toolchains_map)
end
+ if not toolchains_map[name] then
+ toolchains_map[name] = toolchain.load(name, {plat = self:plat(), arch = self:arch()})
+ end
return toolchains_map[name]
end
diff --git a/xmake/modules/package/tools/autoconf.lua b/xmake/modules/package/tools/autoconf.lua
index b59e78cf1..9f4181b0b 100644
--- a/xmake/modules/package/tools/autoconf.lua
+++ b/xmake/modules/package/tools/autoconf.lua
@@ -68,7 +68,7 @@ end
-- get msvc
function _get_msvc(package)
- local msvc = package:toolchain("msvc") or toolchain.load("msvc", {plat = package:plat(), arch = package:arch()})
+ local msvc = package:toolchain("msvc")
assert(msvc:check(), "vs not found!") -- we need to check vs envs if it has been not checked yet
return msvc
end
diff --git a/xmake/modules/package/tools/cmake.lua b/xmake/modules/package/tools/cmake.lua
index 9d8c61b73..ba96251cd 100644
--- a/xmake/modules/package/tools/cmake.lua
+++ b/xmake/modules/package/tools/cmake.lua
@@ -87,7 +87,7 @@ end
-- get msvc
function _get_msvc(package)
- local msvc = package:toolchain("msvc") or toolchain.load("msvc", {plat = package:plat(), arch = package:arch()})
+ local msvc = package:toolchain("msvc")
assert(msvc:check(), "vs not found!") -- we need to check vs envs if it has been not checked yet
return msvc
end