From a3a7f76fe2f10792cedf4198d2b5db51f64cb721 Mon Sep 17 00:00:00 2001 From: ruki Date: Sat, 23 Mar 2024 00:44:39 +0800 Subject: improve package:toolchain --- xmake/core/package/package.lua | 3 +++ xmake/modules/package/tools/autoconf.lua | 2 +- xmake/modules/package/tools/cmake.lua | 2 +- 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 -- cgit v1.3.1