diff options
| author | SirLynix <[email protected]> | 2022-12-10 14:15:58 +0100 |
|---|---|---|
| committer | SirLynix <[email protected]> | 2022-12-10 14:15:58 +0100 |
| commit | 4baf5673b19297a2f05fe8f087f0d4283365956d (patch) | |
| tree | 1a4b7e2b65c5ed2247a03ee66eadad132a2780b9 | |
| parent | 2741dbd3bad8b53cf7c5651016ac374421dcd212 (diff) | |
Remove find_emscripten
| -rw-r--r-- | xmake/modules/detect/sdks/find_emscripten.lua | 120 | ||||
| -rw-r--r-- | xmake/modules/detect/sdks/find_emsdk.lua | 14 | ||||
| -rw-r--r-- | xmake/modules/detect/tools/find_emcc.lua | 15 | ||||
| -rw-r--r-- | xmake/platforms/wasm/xmake.lua | 2 |
4 files changed, 19 insertions, 132 deletions
diff --git a/xmake/modules/detect/sdks/find_emscripten.lua b/xmake/modules/detect/sdks/find_emscripten.lua deleted file mode 100644 index fad281df9..000000000 --- a/xmake/modules/detect/sdks/find_emscripten.lua +++ /dev/null @@ -1,120 +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 SirLynix --- @file find_emscripten.lua --- - --- imports -import("core.base.semver") -import("core.base.option") -import("core.base.global") -import("core.project.config") -import("core.cache.detectcache") -import("lib.detect.find_file") -import("detect.sdks.find_emsdk") - --- find emscripten directory -function _find_emscriptendir(sdkdir) - - -- try to find emcc (compiler script) - local paths = {} - if sdkdir then - table.insert(paths, sdkdir) - end - table.insert(paths, function () - local emsdk = find_emsdk(sdkdir) - if emsdk then - return emsdk.sdkdir - end - end) - - local subdirs = {} - table.insert(subdirs, path.join("upstream", "emscripten")) - - local emcc = find_file("emcc", paths, {suffixes = subdirs}) - - -- get sdk directory - if emcc then - return path.directory(emcc) - end - -end - --- find emscripten -function _find_emscripten(sdkdir) - - -- find emscripten directory - sdkdir = _find_emscriptendir(sdkdir) - if not sdkdir then - return {} - end - - -- ok? - return {sdkdir = sdkdir} -end - --- find emscripten directory --- --- @param sdkdir the emscripten directory --- @param opt the argument options, e.g. {force = true} --- --- @return the sdk toolchains. e.g. {sdkdir = ..} --- --- @code --- --- local sdk = find_emscripten("~/emsdk/upstream/emscripten") --- --- @endcode --- -function main(sdkdir, opt) - - -- init arguments - opt = opt or {} - - -- attempt to load cache first - local key = "detect.sdks.find_emscripten" - local cacheinfo = detectcache:get(key) or {} - if not opt.force and cacheinfo.sdk and cacheinfo.sdk.sdkdir and os.isdir(cacheinfo.sdk.sdkdir) then - return cacheinfo.sdk - end - - -- find sdk - local sdk = _find_emscripten(sdkdir or config.get("emscripten") or global.get("emscripten")) - if sdk and sdk.sdkdir then - - -- save to config - config.set("emscripten", sdk.sdkdir, {force = true, readonly = true}) - - -- trace - if opt.verbose or option.get("verbose") then - cprint("checking for emscripten toolchain directory ... ${color.success}%s", sdk.sdkdir) - end - - else - - -- trace - if opt.verbose or option.get("verbose") then - cprint("checking for emscripten toolchain directory ... ${color.nothing}${text.nothing}") - end - end - - -- save to cache - cacheinfo.sdk = sdk or false - detectcache:set(key, cacheinfo) - detectcache:save() - return sdk -end diff --git a/xmake/modules/detect/sdks/find_emsdk.lua b/xmake/modules/detect/sdks/find_emsdk.lua index 799c254ac..52f47079d 100644 --- a/xmake/modules/detect/sdks/find_emsdk.lua +++ b/xmake/modules/detect/sdks/find_emsdk.lua @@ -52,8 +52,20 @@ function _find_emsdk(sdkdir) return {} end + -- find emscripten toolchain directory + local emscripten + + local subdirs = {} + table.insert(subdirs, path.join("upstream", "emscripten")) + + local emcc = find_file("emcc", sdkdir, {suffixes = subdirs}) + if emcc then + emscripten = path.directory(emcc) + end + -- ok? - return {sdkdir = sdkdir} + return {sdkdir = sdkdir, emscripten = emscripten} + end -- find emsdk directory diff --git a/xmake/modules/detect/tools/find_emcc.lua b/xmake/modules/detect/tools/find_emcc.lua index 22539fe7e..020ed29b7 100644 --- a/xmake/modules/detect/tools/find_emcc.lua +++ b/xmake/modules/detect/tools/find_emcc.lua @@ -21,7 +21,7 @@ -- imports import("lib.detect.find_program") import("lib.detect.find_programver") -import("detect.sdks.find_emscripten") +import("detect.sdks.find_emsdk") -- find emcc -- @@ -42,17 +42,14 @@ function main(opt) opt = opt or {} -- init the search directories - local paths = {} - local emscriptendir = find_emscripten() - if emscriptendir then - table.insert(paths, emscriptendir.sdkdir) + local emsdk = find_emsdk() + if emsdk and emsdk.emscripten then + local paths = {} + table.insert(paths, emsdk.emscripten) + opt.paths = paths end -- find program - opt.paths = paths - opt.envs = {PATH = os.getenv("PATH")} - - -- find program local program = find_program(opt.program or (is_host("windows") and "emcc.bat" or "emcc"), opt) -- find program version diff --git a/xmake/platforms/wasm/xmake.lua b/xmake/platforms/wasm/xmake.lua index fc259a546..578620384 100644 --- a/xmake/platforms/wasm/xmake.lua +++ b/xmake/platforms/wasm/xmake.lua @@ -46,13 +46,11 @@ platform("wasm") { {category = "Emscripten Configuration" } , {nil, "emsdk", "kv", nil, "emsdk directory" } - , {nil, "emscripten", "kv", nil, "emscripten directory" } } , global = { {category = "Emscripten Configuration" } , {nil, "emsdk", "kv", nil, "emsdk directory" } - , {nil, "emscripten", "kv", nil, "emscripten directory" } } } |
