From 937bd96c26edc111a3226a4feb2a6748041ab461 Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 18 May 2020 22:39:36 +0800 Subject: check toolchains for macosx --- xmake/platforms/linux/xmake.lua | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'xmake/platforms/linux/xmake.lua') diff --git a/xmake/platforms/linux/xmake.lua b/xmake/platforms/linux/xmake.lua index 53517239a..21e4d2e51 100644 --- a/xmake/platforms/linux/xmake.lua +++ b/xmake/platforms/linux/xmake.lua @@ -36,11 +36,8 @@ platform("linux") -- set install directory set_installdir("/usr/local") - -- on check project configuration - on_config_check("config") - - -- on check global configuration - on_global_check("global") + -- on check + on_check("check") -- on load on_load("load") -- cgit v1.3.1 From 1c7e32dea671abf42fc097db7141bd52a1fbfb19 Mon Sep 17 00:00:00 2001 From: ruki Date: Wed, 20 May 2020 00:36:09 +0800 Subject: improve linux platform --- xmake/platforms/linux/check.lua | 155 +++------------------------------------ xmake/platforms/linux/load.lua | 81 -------------------- xmake/platforms/linux/xmake.lua | 4 +- xmake/toolchains/clang/xmake.lua | 30 ++++++++ xmake/toolchains/gcc/xmake.lua | 30 ++++++++ xmake/toolchains/go/xmake.lua | 5 ++ xmake/toolchains/rust/xmake.lua | 6 ++ 7 files changed, 83 insertions(+), 228 deletions(-) delete mode 100644 xmake/platforms/linux/load.lua (limited to 'xmake/platforms/linux/xmake.lua') diff --git a/xmake/platforms/linux/check.lua b/xmake/platforms/linux/check.lua index 0fee59e6d..c435b7ad9 100644 --- a/xmake/platforms/linux/check.lua +++ b/xmake/platforms/linux/check.lua @@ -20,156 +20,21 @@ -- imports import("core.project.config") -import("core.base.singleton") -import("detect.sdks.find_cross_toolchain") -import("private.platform.toolchain") import("private.platform.check_arch") -import("private.platform.check_toolchain") - --- check the architecture -function _check_arch() - - -- get the architecture - local arch = config.get("arch") - if not arch then - - -- init the default architecture - config.set("arch", config.get("cross") and "none" or os.arch()) - - -- trace - print("checking for the architecture ... %s", config.get("arch")) - end -end - --- get toolchains -function _toolchains() - - -- find cross toolchain - local cross = "" - local cross_toolchain = find_cross_toolchain(config.get("sdk") or config.get("bin"), {bindir = config.get("bin"), cross = config.get("cross")}) - if cross_toolchain then - config.set("cross", cross_toolchain.cross, {readonly = true, force = true}) - config.set("bin", cross_toolchain.bindir, {readonly = true, force = true}) - cross = cross_toolchain.cross - end - - -- init toolchains - local cc = toolchain("the c compiler") - local cxx = toolchain("the c++ compiler") - local ld = toolchain("the linker") - local sh = toolchain("the shared library linker") - local ar = toolchain("the static library archiver") - local ex = toolchain("the static library extractor") - local strip = toolchain("the symbols stripper") - local mm = toolchain("the objc compiler") - local mxx = toolchain("the objc++ compiler") - local as = toolchain("the assember") - local gc = toolchain("the golang compiler") - local gc_ld = toolchain("the golang linker") - local gc_ar = toolchain("the golang static library archiver") - local dc = toolchain("the dlang compiler") - local dc_ld = toolchain("the dlang linker") - local dc_sh = toolchain("the dlang shared library linker") - local dc_ar = toolchain("the dlang static library archiver") - local rc = toolchain("the rust compiler") - local rc_ld = toolchain("the rust linker") - local rc_sh = toolchain("the rust shared library linker") - local rc_ar = toolchain("the rust static library archiver") - local cu = toolchain("the cuda compiler") - local cu_ld = toolchain("the cuda linker") - local cu_ccbin = toolchain("the cuda host c++ compiler") - local toolchains = {cc = cc, cxx = cxx, as = as, ld = ld, sh = sh, ar = ar, ex = ex, strip = strip, - mm = mm, mxx = mxx, - gc = gc, ["gcld"] = gc_ld, ["gcar"] = gc_ar, - dc = dc, ["dcld"] = dc_ld, ["dcsh"] = dc_sh, ["dcar"] = dc_ar, - rc = rc, ["rcld"] = rc_ld, ["rcsh"] = rc_sh, ["rcar"] = rc_ar, - cu = cu, ["culd"] = cu_ld, ["cu-ccbin"] = cu_ccbin} - - -- init the c compiler - cc:add("$(env CC)", {name = "gcc", cross = cross}, {name = "clang", cross = cross}) - - -- init the c++ compiler - cxx:add("$(env CXX)") - cxx:add({name = "gcc", cross = cross}) - cxx:add({name = "clang", cross = cross}) - cxx:add({name = "g++", cross = cross}) - cxx:add({name = "clang++", cross = cross}) - - -- init the assember - as:add("$(env AS)", {name = "gcc", cross = cross}, {name = "clang", cross = cross}) - - -- init the linker - ld:add("$(env LD)", "$(env CXX)") - ld:add({name = "g++", cross = cross}) - ld:add({name = "gcc", cross = cross}) - ld:add({name = "clang++", cross = cross}) - ld:add({name = "clang", cross = cross}) - - -- init the shared library linker - sh:add("$(env SH)", "$(env CXX)") - sh:add({name = "g++", cross = cross}) - sh:add({name = "gcc", cross = cross}) - sh:add({name = "clang++", cross = cross}) - sh:add({name = "clang", cross = cross}) - - -- init the static library archiver - ar:add("$(env AR)", {name = "ar", cross = cross}) - - -- init the static library extractor - ex:add("$(env AR)", {name = "ar", cross = cross}) - - -- init the symbols stripper - strip:add("$(env STRIP)", {name = "strip", cross = cross}) - - -- init the objc compiler - mm:add("$(env MM)", {name = "clang", cross = cross}, {name = "gcc", cross = cross}) - - -- init the objc++ compiler - mxx:add("$(env MXX)") - mxx:add({name = "clang", cross = cross}) - mxx:add({name = "clang++", cross = cross}) - mxx:add({name = "gcc", cross = cross}) - mxx:add({name = "g++", cross = cross}) - - -- init the golang compiler and linker - gc:add("$(env GC)", "go", "gccgo") - gc_ld:add("$(env GC)", "go", "gccgo") - gc_ar:add("$(env GC)", "go", "gccgo") - - -- init the dlang compiler and linker - dc:add("$(env DC)", "dmd", "ldc2", "gdc") - dc_ld:add("$(env DC)", "dmd", "ldc2", "gdc") - dc_sh:add("$(env DC)", "dmd", "ldc2", "gdc") - dc_ar:add("$(env DC)", "dmd", "ldc2", "gdc") - - -- init the rust compiler and linker - rc:add("$(env RC)", "rustc") - rc_ld:add("$(env RC)", "rustc") - rc_sh:add("$(env RC)", "rustc") - rc_ar:add("$(env RC)", "rustc") - - -- init the cuda compiler and linker - cu:add("nvcc", "clang++", "clang") - cu_ld:add("nvcc") - if not cross or cross == "" then - cu_ccbin:add("$(env CXX)", "$(env CC)", "gcc", "clang", "g++", "clang++") - end - return toolchains -end -- check it -function main(platform, name) +function main(platform) - -- only check the given config name? - if name then - local toolchain = singleton.get("linux.toolchains", _toolchains)[name] - if toolchain then - check_toolchain(config, name, toolchain) - end - else + -- check arch + check_arch(config, os.arch()) - -- check arch - _check_arch() + -- check toolchains + local toolchains = platform:toolchains() + for idx, toolchain in irpairs(toolchains) do + if not toolchain:check() then + table.remove(toolchains, idx) + end end + assert(#toolchains > 0, "toolchains not found!") end diff --git a/xmake/platforms/linux/load.lua b/xmake/platforms/linux/load.lua deleted file mode 100644 index fcbbc61ff..000000000 --- a/xmake/platforms/linux/load.lua +++ /dev/null @@ -1,81 +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-2020, TBOOX Open Source Group. --- --- @author ruki --- @file load.lua --- - --- imports -import("core.project.config") - --- load it -function main(platform) - - -- cross toolchains? - if config.get("cross") or config.get("bin") or config.get("sdk") then - - -- init linkdirs and includedirs - local sdkdir = config.get("sdk") - if sdkdir then - local includedir = path.join(sdkdir, "include") - if os.isdir(includedir) then - platform:add("includedirs", includedir) - end - local linkdir = path.join(sdkdir, "lib") - if os.isdir(linkdir) then - platform:add("linkdirs", linkdir) - end - end - - -- ok - return - end - - -- init flags for architecture - local archflags = nil - local arch = config.get("arch") - if arch then - if arch == "x86_64" then archflags = "-m64" - elseif arch == "i386" then archflags = "-m32" - end - end - - -- init flags for c/c++ - platform:add("cxflags", archflags, "-I/usr/local/include", "-I/usr/include") - platform:add("ldflags", archflags, "-L/usr/local/lib", "-L/usr/lib") - platform:add("shflags", archflags, "-L/usr/local/lib", "-L/usr/lib") - - -- init flags for objc/c++ (with ldflags and shflags) - platform:add("mxflags", archflags) - - -- init flags for asm - platform:add("yasm.asflags", "-f", arch == "x86_64" and "elf64" or "elf32") - platform:add("asflags", archflags) - - -- init flags for golang - platform:set("gcldflags", "") - - -- init flags for dlang - local dc_archs = { i386 = "-m32", x86_64 = "-m64" } - platform:add("dcflags", dc_archs[arch] or "") - platform:add("dcshflags", dc_archs[arch] or "") - platform:add("dcldflags", dc_archs[arch] or "") - - -- init flags for rust - platform:set("rcshflags", "") - platform:set("rcldflags", "") -end - diff --git a/xmake/platforms/linux/xmake.lua b/xmake/platforms/linux/xmake.lua index 21e4d2e51..250441a68 100644 --- a/xmake/platforms/linux/xmake.lua +++ b/xmake/platforms/linux/xmake.lua @@ -39,8 +39,8 @@ platform("linux") -- on check on_check("check") - -- on load - on_load("load") + -- set toolchains + set_toolchains("envs", "gcc", "clang", "yasm", "nasm", "fasm", "cuda", "dlang", "go", "rust") -- set menu set_menu { diff --git a/xmake/toolchains/clang/xmake.lua b/xmake/toolchains/clang/xmake.lua index d4c1c3798..5d495fff5 100644 --- a/xmake/toolchains/clang/xmake.lua +++ b/xmake/toolchains/clang/xmake.lua @@ -37,3 +37,33 @@ toolchain("clang") on_check(function (toolchain) return import("lib.detect.find_tool")("clang") end) + + -- on load + on_load(function (toolchain) + + -- get march + local march = is_arch("x86_64", "x64") and "-m64" or "-m32" + + -- init flags for c/c++ + toolchain:add("cxflags", march) + toolchain:add("ldflags", march) + toolchain:add("shflags", march) + if not is_plat("windows") and os.isdir("/usr") then + for _, includedir in ipairs({"/usr/local/include", "/usr/include"}) do + if os.isdir(includedir) then + toolchain:add("includedirs", includedir) + end + end + for _, linkdir in ipairs({"/usr/local/lib", "/usr/lib"}) do + if os.isdir(linkdir) then + toolchain:add("linkdirs", linkdir) + end + end + end + + -- init flags for objc/c++ (with ldflags and shflags) + toolchain:add("mxflags", march) + + -- init flags for asm + toolchain:add("asflags", march) + end) diff --git a/xmake/toolchains/gcc/xmake.lua b/xmake/toolchains/gcc/xmake.lua index 08bb2d062..ba1ef6989 100644 --- a/xmake/toolchains/gcc/xmake.lua +++ b/xmake/toolchains/gcc/xmake.lua @@ -37,3 +37,33 @@ toolchain("gcc") on_check(function (toolchain) return import("lib.detect.find_tool")("gcc") end) + + -- on load + on_load(function (toolchain) + + -- get march + local march = is_arch("x86_64", "x64") and "-m64" or "-m32" + + -- init flags for c/c++ + toolchain:add("cxflags", march) + toolchain:add("ldflags", march) + toolchain:add("shflags", march) + if not is_plat("windows") and os.isdir("/usr") then + for _, includedir in ipairs({"/usr/local/include", "/usr/include"}) do + if os.isdir(includedir) then + toolchain:add("includedirs", includedir) + end + end + for _, linkdir in ipairs({"/usr/local/lib", "/usr/lib"}) do + if os.isdir(linkdir) then + toolchain:add("linkdirs", linkdir) + end + end + end + + -- init flags for objc/c++ (with ldflags and shflags) + toolchain:add("mxflags", march) + + -- init flags for asm + toolchain:add("asflags", march) + end) diff --git a/xmake/toolchains/go/xmake.lua b/xmake/toolchains/go/xmake.lua index a5400302b..402e5cc04 100644 --- a/xmake/toolchains/go/xmake.lua +++ b/xmake/toolchains/go/xmake.lua @@ -26,3 +26,8 @@ toolchain("go") set_toolsets("gcld", "$(env GC)", "go", "gccgo") set_toolsets("gcar", "$(env GC)", "go", "gccgo") + -- on load + on_load(function (toolchain) + toolchain:set("gcldflags", "") + end) + diff --git a/xmake/toolchains/rust/xmake.lua b/xmake/toolchains/rust/xmake.lua index 6eba85440..43684a5bb 100644 --- a/xmake/toolchains/rust/xmake.lua +++ b/xmake/toolchains/rust/xmake.lua @@ -26,3 +26,9 @@ toolchain("rust") set_toolsets("rcld", "$(env RC)", "rustc") set_toolsets("rcsh", "$(env RC)", "rustc") set_toolsets("rcar", "$(env RC)", "rustc") + + -- on load + on_load(function (toolchain) + toolchain:set("rcshflags", "") + toolchain:set("rcldflags", "") + end) -- cgit v1.3.1 From 5627a51d82327a2d694be53d1587e6a10671278c Mon Sep 17 00:00:00 2001 From: ruki Date: Wed, 20 May 2020 22:36:58 +0800 Subject: improve linux/bsd platforms --- xmake/platforms/bsd/check.lua | 21 +++++++++++++++++++-- xmake/platforms/linux/check.lua | 21 +++++++++++++++++++-- xmake/platforms/linux/xmake.lua | 2 +- xmake/toolchains/cross/check.lua | 16 ++++++++++------ 4 files changed, 49 insertions(+), 11 deletions(-) (limited to 'xmake/platforms/linux/xmake.lua') diff --git a/xmake/platforms/bsd/check.lua b/xmake/platforms/bsd/check.lua index c435b7ad9..3cd6b8980 100644 --- a/xmake/platforms/bsd/check.lua +++ b/xmake/platforms/bsd/check.lua @@ -22,6 +22,12 @@ import("core.project.config") import("private.platform.check_arch") +-- is basic toolchain? +function _is_basic_toolchain(toolchain) + local name = toolchain:name() + return name == "clang" or name == "gcc" +end + -- check it function main(platform) @@ -30,9 +36,20 @@ function main(platform) -- check toolchains local toolchains = platform:toolchains() - for idx, toolchain in irpairs(toolchains) do - if not toolchain:check() then + local idx = 1 + local num = #toolchains + local has_basic = false + while idx <= num do + local toolchain = toolchains[idx] + -- we need remove other same basic toolchains if basic toolchain found + if (has_basic and _is_basic_toolchain(toolchain)) or not toolchain:check() then table.remove(toolchains, idx) + num = num - 1 + else + if _is_basic_toolchain(toolchain) then + has_basic = true + end + idx = idx + 1 end end assert(#toolchains > 0, "toolchains not found!") diff --git a/xmake/platforms/linux/check.lua b/xmake/platforms/linux/check.lua index c435b7ad9..a851256e5 100644 --- a/xmake/platforms/linux/check.lua +++ b/xmake/platforms/linux/check.lua @@ -22,6 +22,12 @@ import("core.project.config") import("private.platform.check_arch") +-- is basic toolchain? +function _is_basic_toolchain(toolchain) + local name = toolchain:name() + return name == "cross" or name == "clang" or name == "gcc" +end + -- check it function main(platform) @@ -30,9 +36,20 @@ function main(platform) -- check toolchains local toolchains = platform:toolchains() - for idx, toolchain in irpairs(toolchains) do - if not toolchain:check() then + local idx = 1 + local num = #toolchains + local has_basic = false + while idx <= num do + local toolchain = toolchains[idx] + -- we need remove other same basic toolchains if basic toolchain found + if (has_basic and _is_basic_toolchain(toolchain)) or not toolchain:check() then table.remove(toolchains, idx) + num = num - 1 + else + if _is_basic_toolchain(toolchain) then + has_basic = true + end + idx = idx + 1 end end assert(#toolchains > 0, "toolchains not found!") diff --git a/xmake/platforms/linux/xmake.lua b/xmake/platforms/linux/xmake.lua index 250441a68..0b13c1a5b 100644 --- a/xmake/platforms/linux/xmake.lua +++ b/xmake/platforms/linux/xmake.lua @@ -40,7 +40,7 @@ platform("linux") on_check("check") -- set toolchains - set_toolchains("envs", "gcc", "clang", "yasm", "nasm", "fasm", "cuda", "dlang", "go", "rust") + set_toolchains("envs", "cross", "gcc", "clang", "yasm", "nasm", "fasm", "cuda", "dlang", "go", "rust") -- set menu set_menu { diff --git a/xmake/toolchains/cross/check.lua b/xmake/toolchains/cross/check.lua index 6a5bd874d..34b62ccc0 100644 --- a/xmake/toolchains/cross/check.lua +++ b/xmake/toolchains/cross/check.lua @@ -25,17 +25,21 @@ import("detect.sdks.find_cross_toolchain") -- check the cross toolchain function main(toolchain) + -- is cross? + local sdkdir = config.get("sdk") + local bindir = config.get("bin") + local cross = config.get("cross") + if not sdkdir and not bindir and not cross then + return + end + -- find cross toolchain - local cross_toolchain = find_cross_toolchain(config.get("sdk") or config.get("bin"), {bindir = config.get("bin"), cross = config.get("cross")}) + local cross_toolchain = find_cross_toolchain(sdkdir, {bindir = bindir, cross = cross}) if cross_toolchain then config.set("cross", cross_toolchain.cross, {readonly = true, force = true}) config.set("bin", cross_toolchain.bindir, {readonly = true, force = true}) else - -- failed - cprint("${bright color.error}cross toolchain not found, please run:") - cprint(" - xmake config --sdk=xxx") - cprint("or - xmake global --sdk=xxx") - raise() + raise("cross toolchain not found!") end return cross_toolchain end -- cgit v1.3.1 From 38b0a926dfdab29c5c1aaeb182bdba6bda5a2970 Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 21 May 2020 22:39:06 +0800 Subject: improve set_formats --- xmake/core/platform/platform.lua | 5 ++++- xmake/core/tool/toolchain.lua | 8 ++------ xmake/platforms/android/xmake.lua | 5 ++++- xmake/platforms/bsd/xmake.lua | 5 ++++- xmake/platforms/cross/xmake.lua | 5 ++++- xmake/platforms/cygwin/xmake.lua | 6 +++++- xmake/platforms/iphoneos/xmake.lua | 5 ++++- xmake/platforms/linux/xmake.lua | 5 ++++- xmake/platforms/macosx/xmake.lua | 5 ++++- xmake/platforms/mingw/xmake.lua | 6 +++++- xmake/platforms/msys/xmake.lua | 6 +++++- xmake/platforms/watchos/xmake.lua | 5 ++++- xmake/platforms/windows/xmake.lua | 6 +++++- xmake/toolchains/sdcc/xmake.lua | 5 ++++- 14 files changed, 58 insertions(+), 19 deletions(-) (limited to 'xmake/platforms/linux/xmake.lua') diff --git a/xmake/core/platform/platform.lua b/xmake/core/platform/platform.lua index 9b0e1ebec..3fc92be63 100644 --- a/xmake/core/platform/platform.lua +++ b/xmake/core/platform/platform.lua @@ -321,11 +321,14 @@ function platform._apis() "platform.on_load" , "platform.on_check" } + , keyvalues = + { + "platform.set_formats" + } , dictionary = { -- platform.set_xxx "platform.set_menu" - , "platform.set_formats" } } end diff --git a/xmake/core/tool/toolchain.lua b/xmake/core/tool/toolchain.lua index 3644fa8c0..894dfb879 100644 --- a/xmake/core/tool/toolchain.lua +++ b/xmake/core/tool/toolchain.lua @@ -272,7 +272,8 @@ function toolchain._apis() , keyvalues = { -- toolchain.set_xxx - "toolchain.set_toolsets" + "toolchain.set_formats" + , "toolchain.set_toolsets" -- toolchain.add_xxx , "toolchain.add_runenvs" } @@ -282,11 +283,6 @@ function toolchain._apis() "toolchain.on_load" , "toolchain.on_check" } - , dictionary = - { - -- toolchain.set_xxx - "toolchain.set_formats" - } } end diff --git a/xmake/platforms/android/xmake.lua b/xmake/platforms/android/xmake.lua index 4644af7a4..48177245e 100644 --- a/xmake/platforms/android/xmake.lua +++ b/xmake/platforms/android/xmake.lua @@ -37,7 +37,10 @@ platform("android") set_archs("armeabi", "armeabi-v7a", "arm64-v8a", "x86", "x86_64", "mips", "mip64") -- set formats - set_formats {static = "lib$(name).a", object = "$(name).o", shared = "lib$(name).so", symbol = "$(name).sym"} + set_formats("static", "lib$(name).a") + set_formats("object", "$(name).o") + set_formats("shared", "lib$(name).so") + set_formats("symbol", "$(name).sym") -- on check on_check("check") diff --git a/xmake/platforms/bsd/xmake.lua b/xmake/platforms/bsd/xmake.lua index e829d0514..7bc9c03b8 100644 --- a/xmake/platforms/bsd/xmake.lua +++ b/xmake/platforms/bsd/xmake.lua @@ -31,7 +31,10 @@ platform("bsd") set_archs("i386", "x86_64") -- set formats - set_formats {static = "lib$(name).a", object = "$(name).o", shared = "lib$(name).so", symbol = "$(name).sym"} + set_formats("static", "lib$(name).a") + set_formats("object", "$(name).o") + set_formats("shared", "lib$(name).so") + set_formats("symbol", "$(name).sym") -- set install directory set_installdir("/usr/local") diff --git a/xmake/platforms/cross/xmake.lua b/xmake/platforms/cross/xmake.lua index e46f2fb06..4e6b2dcc2 100644 --- a/xmake/platforms/cross/xmake.lua +++ b/xmake/platforms/cross/xmake.lua @@ -28,7 +28,10 @@ platform("cross") set_archs("i386", "x86_64", "armv7", "armv7s", "arm64-v8a", "mips", "mips64") -- set formats - set_formats {static = "lib$(name).a", object = "$(name).o", shared = "lib$(name).so", symbol = "$(name).sym"} + set_formats("static", "lib$(name).a") + set_formats("object", "$(name).o") + set_formats("shared", "lib$(name).so") + set_formats("symbol", "$(name).sym") -- on check on_check("check") diff --git a/xmake/platforms/cygwin/xmake.lua b/xmake/platforms/cygwin/xmake.lua index 14b608732..c7f16f8d2 100644 --- a/xmake/platforms/cygwin/xmake.lua +++ b/xmake/platforms/cygwin/xmake.lua @@ -31,7 +31,11 @@ platform("cygwin") set_archs("i386", "x86_64") -- set formats - set_formats {static = "lib$(name).a", object = "$(name).o", shared = "lib$(name).dll", binary = "$(name).exe", symbol = "$(name).sym"} + set_formats("static", "lib$(name).a") + set_formats("object", "$(name).o") + set_formats("shared", "$(name).dll") + set_formats("binary", "$(name).exe") + set_formats("symbol", "$(name).sym") -- set install directory set_installdir("/usr/local") diff --git a/xmake/platforms/iphoneos/xmake.lua b/xmake/platforms/iphoneos/xmake.lua index d0d57f5da..bf7612c2c 100644 --- a/xmake/platforms/iphoneos/xmake.lua +++ b/xmake/platforms/iphoneos/xmake.lua @@ -31,7 +31,10 @@ platform("iphoneos") set_archs("arm64", "armv7", "armv7s", "i386", "x86_64") -- set formats - set_formats {static = "lib$(name).a", object = "$(name).o", shared = "lib$(name).dylib", symbol = "$(name).dSYM"} + set_formats("static", "lib$(name).a") + set_formats("object", "$(name).o") + set_formats("shared", "lib$(name).dylib") + set_formats("symbol", "$(name).dSYM") -- on check on_check("check") diff --git a/xmake/platforms/linux/xmake.lua b/xmake/platforms/linux/xmake.lua index 0b13c1a5b..62cc1e3e8 100644 --- a/xmake/platforms/linux/xmake.lua +++ b/xmake/platforms/linux/xmake.lua @@ -31,7 +31,10 @@ platform("linux") set_archs("i386", "x86_64", "armv7", "armv7s", "arm64-v8a", "mips", "mips64") -- set formats - set_formats {static = "lib$(name).a", object = "$(name).o", shared = "lib$(name).so", symbol = "$(name).sym"} + set_formats("static", "lib$(name).a") + set_formats("object", "$(name).o") + set_formats("shared", "lib$(name).so") + set_formats("symbol", "$(name).sym") -- set install directory set_installdir("/usr/local") diff --git a/xmake/platforms/macosx/xmake.lua b/xmake/platforms/macosx/xmake.lua index 4537e419d..0dc0ece52 100644 --- a/xmake/platforms/macosx/xmake.lua +++ b/xmake/platforms/macosx/xmake.lua @@ -31,7 +31,10 @@ platform("macosx") set_archs("i386", "x86_64") -- set formats - set_formats {static = "lib$(name).a", object = "$(name).o", shared = "lib$(name).dylib", symbol = "$(name).dSYM"} + set_formats("static", "lib$(name).a") + set_formats("object", "$(name).o") + set_formats("shared", "lib$(name).dylib") + set_formats("symbol", "$(name).dSYM") -- set install directory set_installdir("/usr/local") diff --git a/xmake/platforms/mingw/xmake.lua b/xmake/platforms/mingw/xmake.lua index 1c19443b8..6a29e39d5 100644 --- a/xmake/platforms/mingw/xmake.lua +++ b/xmake/platforms/mingw/xmake.lua @@ -31,7 +31,11 @@ platform("mingw") set_archs("i386", "x86_64") -- set formats - set_formats {static = "$(name).lib", object = "$(name).obj", shared = "$(name).dll", binary = "$(name).exe", symbol = "$(name).pdb"} + set_formats("static", "$(name).lib") + set_formats("object", "$(name).obj") + set_formats("shared", "$(name).dll") + set_formats("binary", "$(name).exe") + set_formats("symbol", "$(name).pdb") -- on check on_check("check") diff --git a/xmake/platforms/msys/xmake.lua b/xmake/platforms/msys/xmake.lua index 2a171e83b..7fa199b76 100644 --- a/xmake/platforms/msys/xmake.lua +++ b/xmake/platforms/msys/xmake.lua @@ -31,7 +31,11 @@ platform("msys") set_archs("i386", "x86_64") -- set formats - set_formats {static = "lib$(name).a", object = "$(name).o", shared = "lib$(name).dll", binary = "$(name).exe", symbol = "$(name).sym"} + set_formats("static", "lib$(name).a") + set_formats("object", "$(name).o") + set_formats("shared", "lib$(name).dll") + set_formats("binary", "$(name).exe") + set_formats("symbol", "$(name).sym") -- set install directory set_installdir("/usr/local") diff --git a/xmake/platforms/watchos/xmake.lua b/xmake/platforms/watchos/xmake.lua index 9215e2b96..8be929977 100644 --- a/xmake/platforms/watchos/xmake.lua +++ b/xmake/platforms/watchos/xmake.lua @@ -31,7 +31,10 @@ platform("watchos") set_archs("armv7k", "i386") -- set formats - set_formats {static = "lib$(name).a", object = "$(name).o", shared = "lib$(name).dylib", symbol = "$(name).dSYM"} + set_formats("static", "lib$(name).a") + set_formats("object", "$(name).o") + set_formats("shared", "lib$(name).dylib") + set_formats("symbol", "$(name).dSYM") -- on check on_check("check") diff --git a/xmake/platforms/windows/xmake.lua b/xmake/platforms/windows/xmake.lua index 19ee3bb7a..f43d7179c 100644 --- a/xmake/platforms/windows/xmake.lua +++ b/xmake/platforms/windows/xmake.lua @@ -31,7 +31,11 @@ platform("windows") set_archs("x86", "x64") -- set formats - set_formats {static = "$(name).lib", object = "$(name).obj", shared = "$(name).dll", binary = "$(name).exe", symbol = "$(name).pdb"} + set_formats("static", "$(name).lib") + set_formats("object", "$(name).obj") + set_formats("shared", "$(name).dll") + set_formats("binary", "$(name).exe") + set_formats("symbol", "$(name).pdb") -- on check on_check("check") diff --git a/xmake/toolchains/sdcc/xmake.lua b/xmake/toolchains/sdcc/xmake.lua index 84a8d93fc..859f0b6d9 100644 --- a/xmake/toolchains/sdcc/xmake.lua +++ b/xmake/toolchains/sdcc/xmake.lua @@ -38,7 +38,10 @@ toolchain("sdcc") set_archs("stm8", "mcs51", "z80", "z180", "r2k", "r3ka", "s08", "hc08") -- set formats - set_formats {static = "$(name).lib", object = "$(name).rel", binary = "$(name).bin", symbol = "$(name).sym"} + set_formats("static", "$(name).lib") + set_formats("object", "$(name).rel") + set_formats("binary", "$(name).bin") + set_formats("symbol", "$(name).sym") -- check toolchain on_check("check") -- cgit v1.3.1 From 36e30f47020e0c4399eb5f7b7a8739d55489f499 Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 21 May 2020 23:11:51 +0800 Subject: improve to check arch for platform --- xmake/modules/private/platform/check_arch.lua | 38 --------------------------- xmake/platforms/android/check.lua | 29 -------------------- xmake/platforms/android/xmake.lua | 11 ++++++-- xmake/platforms/bsd/check.lua | 29 -------------------- xmake/platforms/bsd/xmake.lua | 11 ++++++-- xmake/platforms/cross/check.lua | 38 --------------------------- xmake/platforms/cross/xmake.lua | 9 ++++++- xmake/platforms/cygwin/check.lua | 28 -------------------- xmake/platforms/cygwin/xmake.lua | 9 ++++++- xmake/platforms/iphoneos/check.lua | 28 -------------------- xmake/platforms/iphoneos/xmake.lua | 11 ++++++-- xmake/platforms/linux/check.lua | 28 -------------------- xmake/platforms/linux/xmake.lua | 11 ++++++-- xmake/platforms/macosx/check.lua | 28 -------------------- xmake/platforms/macosx/xmake.lua | 9 ++++++- xmake/platforms/mingw/check.lua | 28 -------------------- xmake/platforms/mingw/xmake.lua | 11 ++++++-- xmake/platforms/msys/check.lua | 28 -------------------- xmake/platforms/msys/xmake.lua | 11 ++++++-- xmake/platforms/watchos/check.lua | 28 -------------------- xmake/platforms/watchos/xmake.lua | 9 ++++++- xmake/platforms/windows/check.lua | 28 -------------------- xmake/platforms/windows/xmake.lua | 11 ++++++-- 23 files changed, 95 insertions(+), 376 deletions(-) delete mode 100644 xmake/modules/private/platform/check_arch.lua delete mode 100644 xmake/platforms/android/check.lua delete mode 100644 xmake/platforms/bsd/check.lua delete mode 100644 xmake/platforms/cross/check.lua delete mode 100644 xmake/platforms/cygwin/check.lua delete mode 100644 xmake/platforms/iphoneos/check.lua delete mode 100644 xmake/platforms/linux/check.lua delete mode 100644 xmake/platforms/macosx/check.lua delete mode 100644 xmake/platforms/mingw/check.lua delete mode 100644 xmake/platforms/msys/check.lua delete mode 100644 xmake/platforms/watchos/check.lua delete mode 100644 xmake/platforms/windows/check.lua (limited to 'xmake/platforms/linux/xmake.lua') diff --git a/xmake/modules/private/platform/check_arch.lua b/xmake/modules/private/platform/check_arch.lua deleted file mode 100644 index 4e67f8ae9..000000000 --- a/xmake/modules/private/platform/check_arch.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-2020, TBOOX Open Source Group. --- --- @author ruki --- @file check_arch.lua --- - --- imports -import("core.base.option") - --- check the architecture -function main(config, default) - - -- get the architecture - local arch = config.get("arch") - if not arch then - - -- init the default architecture - config.set("arch", default or os.arch()) - - -- trace - cprint("checking for the architecture ... ${color.success}%s", config.get("arch")) - end -end - diff --git a/xmake/platforms/android/check.lua b/xmake/platforms/android/check.lua deleted file mode 100644 index 5db47502a..000000000 --- a/xmake/platforms/android/check.lua +++ /dev/null @@ -1,29 +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-2020, TBOOX Open Source Group. --- --- @author ruki --- @file check.lua --- - --- imports -import("core.project.config") -import("private.platform.check_arch") - --- check it -function main(platform) - check_arch(config, "armeabi-v7a") -end - diff --git a/xmake/platforms/android/xmake.lua b/xmake/platforms/android/xmake.lua index 48177245e..27bea1645 100644 --- a/xmake/platforms/android/xmake.lua +++ b/xmake/platforms/android/xmake.lua @@ -42,8 +42,15 @@ platform("android") set_formats("shared", "lib$(name).so") set_formats("symbol", "$(name).sym") - -- on check - on_check("check") + -- on check + on_check(function (platform) + import("core.project.config") + local arch = config.get("arch") + if not arch then + config.set("arch", "armeabi-v7a") + cprint("checking for the architecture ... ${color.success}%s", config.get("arch")) + end + end) -- set toolchains set_toolchains("envs", "ndk", "rust") diff --git a/xmake/platforms/bsd/check.lua b/xmake/platforms/bsd/check.lua deleted file mode 100644 index 50c933cba..000000000 --- a/xmake/platforms/bsd/check.lua +++ /dev/null @@ -1,29 +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-2020, TBOOX Open Source Group. --- --- @author ruki --- @file check.lua --- - --- imports -import("core.project.config") -import("private.platform.check_arch") - --- check it -function main(platform) - check_arch(config, os.arch()) -end - diff --git a/xmake/platforms/bsd/xmake.lua b/xmake/platforms/bsd/xmake.lua index 7bc9c03b8..35f063eb7 100644 --- a/xmake/platforms/bsd/xmake.lua +++ b/xmake/platforms/bsd/xmake.lua @@ -39,8 +39,15 @@ platform("bsd") -- set install directory set_installdir("/usr/local") - -- on check - on_check("check") + -- on check + on_check(function (platform) + import("core.project.config") + local arch = config.get("arch") + if not arch then + config.set("arch", os.arch()) + cprint("checking for the architecture ... ${color.success}%s", config.get("arch")) + end + end) -- set toolchains set_toolchains("envs", "gcc", "clang", "yasm", "nasm", "fasm", "cuda", "dlang", "go", "rust") diff --git a/xmake/platforms/cross/check.lua b/xmake/platforms/cross/check.lua deleted file mode 100644 index 6c02f12b5..000000000 --- a/xmake/platforms/cross/check.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-2020, TBOOX Open Source Group. --- --- @author ruki --- @file check.lua --- - --- imports -import("core.project.config") - --- check the architecture -function _check_arch() - - -- get the architecture - local arch = config.get("arch") - if not arch then - config.set("arch", "none") - end -end - --- check it -function main(platform) - _check_arch() -end - diff --git a/xmake/platforms/cross/xmake.lua b/xmake/platforms/cross/xmake.lua index 4e6b2dcc2..c5b12eda5 100644 --- a/xmake/platforms/cross/xmake.lua +++ b/xmake/platforms/cross/xmake.lua @@ -34,7 +34,14 @@ platform("cross") set_formats("symbol", "$(name).sym") -- on check - on_check("check") + on_check(function (platform) + import("core.project.config") + local arch = config.get("arch") + if not arch then + config.set("arch", "none") + cprint("checking for the architecture ... ${color.success}%s", config.get("arch")) + end + end) -- set toolchains set_toolchains("envs", "cross") diff --git a/xmake/platforms/cygwin/check.lua b/xmake/platforms/cygwin/check.lua deleted file mode 100644 index 5c5902225..000000000 --- a/xmake/platforms/cygwin/check.lua +++ /dev/null @@ -1,28 +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-2020, TBOOX Open Source Group. --- --- @author ruki --- @file check.lua --- - --- imports -import("core.project.config") -import("private.platform.check_arch") - --- check it -function main(platform) - check_arch(config, config.get("cross") and "none" or os.subarch()) -end diff --git a/xmake/platforms/cygwin/xmake.lua b/xmake/platforms/cygwin/xmake.lua index c7f16f8d2..deca581bc 100644 --- a/xmake/platforms/cygwin/xmake.lua +++ b/xmake/platforms/cygwin/xmake.lua @@ -41,7 +41,14 @@ platform("cygwin") set_installdir("/usr/local") -- on check - on_check("check") + on_check(function (platform) + import("core.project.config") + local arch = config.get("arch") + if not arch then + config.set("arch", os.subarch()) + cprint("checking for the architecture ... ${color.success}%s", config.get("arch")) + end + end) -- set toolchains set_toolchains("envs", "cross", "gcc", "clang", "yasm") diff --git a/xmake/platforms/iphoneos/check.lua b/xmake/platforms/iphoneos/check.lua deleted file mode 100644 index 520420f84..000000000 --- a/xmake/platforms/iphoneos/check.lua +++ /dev/null @@ -1,28 +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-2020, TBOOX Open Source Group. --- --- @author ruki --- @file check.lua --- - --- imports -import("core.project.config") -import("private.platform.check_arch") - --- check it -function main(platform) - check_arch(config, "arm64") -end diff --git a/xmake/platforms/iphoneos/xmake.lua b/xmake/platforms/iphoneos/xmake.lua index bf7612c2c..7118846b7 100644 --- a/xmake/platforms/iphoneos/xmake.lua +++ b/xmake/platforms/iphoneos/xmake.lua @@ -36,8 +36,15 @@ platform("iphoneos") set_formats("shared", "lib$(name).dylib") set_formats("symbol", "$(name).dSYM") - -- on check - on_check("check") + -- on check + on_check(function (platform) + import("core.project.config") + local arch = config.get("arch") + if not arch then + config.set("arch", "arm64") + cprint("checking for the architecture ... ${color.success}%s", config.get("arch")) + end + end) -- set toolchains set_toolchains("envs", "xcode") diff --git a/xmake/platforms/linux/check.lua b/xmake/platforms/linux/check.lua deleted file mode 100644 index 2d3a4a063..000000000 --- a/xmake/platforms/linux/check.lua +++ /dev/null @@ -1,28 +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-2020, TBOOX Open Source Group. --- --- @author ruki --- @file check.lua --- - --- imports -import("core.project.config") -import("private.platform.check_arch") - --- check it -function main(platform) - check_arch(config, os.arch()) -end diff --git a/xmake/platforms/linux/xmake.lua b/xmake/platforms/linux/xmake.lua index 62cc1e3e8..a1097565b 100644 --- a/xmake/platforms/linux/xmake.lua +++ b/xmake/platforms/linux/xmake.lua @@ -39,8 +39,15 @@ platform("linux") -- set install directory set_installdir("/usr/local") - -- on check - on_check("check") + -- on check + on_check(function (platform) + import("core.project.config") + local arch = config.get("arch") + if not arch then + config.set("arch", os.arch()) + cprint("checking for the architecture ... ${color.success}%s", config.get("arch")) + end + end) -- set toolchains set_toolchains("envs", "cross", "gcc", "clang", "yasm", "nasm", "fasm", "cuda", "dlang", "go", "rust") diff --git a/xmake/platforms/macosx/check.lua b/xmake/platforms/macosx/check.lua deleted file mode 100644 index 0885534cc..000000000 --- a/xmake/platforms/macosx/check.lua +++ /dev/null @@ -1,28 +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-2020, TBOOX Open Source Group. --- --- @author ruki --- @file check.lua --- - --- imports -import("core.project.config") -import("private.platform.check_arch") - --- check it -function main(platform) - check_arch(config) -end diff --git a/xmake/platforms/macosx/xmake.lua b/xmake/platforms/macosx/xmake.lua index 0dc0ece52..f643d2c80 100644 --- a/xmake/platforms/macosx/xmake.lua +++ b/xmake/platforms/macosx/xmake.lua @@ -40,7 +40,14 @@ platform("macosx") set_installdir("/usr/local") -- on check - on_check("check") + on_check(function (platform) + import("core.project.config") + local arch = config.get("arch") + if not arch then + config.set("arch", os.arch()) + cprint("checking for the architecture ... ${color.success}%s", config.get("arch")) + end + end) -- set toolchains set_toolchains("envs", "xcode", "clang", "gcc", "yasm", "nasm", "cuda", "dlang", "rust", "go") diff --git a/xmake/platforms/mingw/check.lua b/xmake/platforms/mingw/check.lua deleted file mode 100644 index 6b81b5d92..000000000 --- a/xmake/platforms/mingw/check.lua +++ /dev/null @@ -1,28 +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-2020, TBOOX Open Source Group. --- --- @author ruki --- @file check.lua --- - --- imports -import("core.project.config") -import("private.platform.check_arch") - --- check it -function main(platform) - check_arch(config, "x86_64") -end diff --git a/xmake/platforms/mingw/xmake.lua b/xmake/platforms/mingw/xmake.lua index 6a29e39d5..82c2ae07e 100644 --- a/xmake/platforms/mingw/xmake.lua +++ b/xmake/platforms/mingw/xmake.lua @@ -37,8 +37,15 @@ platform("mingw") set_formats("binary", "$(name).exe") set_formats("symbol", "$(name).pdb") - -- on check - on_check("check") + -- on check + on_check(function (platform) + import("core.project.config") + local arch = config.get("arch") + if not arch then + config.set("arch", "x86_64") + cprint("checking for the architecture ... ${color.success}%s", config.get("arch")) + end + end) -- set toolchains set_toolchains("envs", "mingw") diff --git a/xmake/platforms/msys/check.lua b/xmake/platforms/msys/check.lua deleted file mode 100644 index 5c5902225..000000000 --- a/xmake/platforms/msys/check.lua +++ /dev/null @@ -1,28 +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-2020, TBOOX Open Source Group. --- --- @author ruki --- @file check.lua --- - --- imports -import("core.project.config") -import("private.platform.check_arch") - --- check it -function main(platform) - check_arch(config, config.get("cross") and "none" or os.subarch()) -end diff --git a/xmake/platforms/msys/xmake.lua b/xmake/platforms/msys/xmake.lua index 7fa199b76..ec73a87ee 100644 --- a/xmake/platforms/msys/xmake.lua +++ b/xmake/platforms/msys/xmake.lua @@ -40,8 +40,15 @@ platform("msys") -- set install directory set_installdir("/usr/local") - -- on check - on_check("check") + -- on check + on_check(function (platform) + import("core.project.config") + local arch = config.get("arch") + if not arch then + config.set("arch", os.subarch()) + cprint("checking for the architecture ... ${color.success}%s", config.get("arch")) + end + end) -- set toolchains set_toolchains("envs", "cross", "gcc", "clang", "yasm") diff --git a/xmake/platforms/watchos/check.lua b/xmake/platforms/watchos/check.lua deleted file mode 100644 index bd8852db3..000000000 --- a/xmake/platforms/watchos/check.lua +++ /dev/null @@ -1,28 +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-2020, TBOOX Open Source Group. --- --- @author ruki --- @file check.lua --- - --- imports -import("core.project.config") -import("private.platform.check_arch") - --- check it -function main(platform) - check_arch(config, "armv7k") -end diff --git a/xmake/platforms/watchos/xmake.lua b/xmake/platforms/watchos/xmake.lua index 8be929977..b6d864d0b 100644 --- a/xmake/platforms/watchos/xmake.lua +++ b/xmake/platforms/watchos/xmake.lua @@ -37,7 +37,14 @@ platform("watchos") set_formats("symbol", "$(name).dSYM") -- on check - on_check("check") + on_check(function (platform) + import("core.project.config") + local arch = config.get("arch") + if not arch then + config.set("arch", "armv7k") + cprint("checking for the architecture ... ${color.success}%s", config.get("arch")) + end + end) -- set toolchains set_toolchains("envs", "xcode") diff --git a/xmake/platforms/windows/check.lua b/xmake/platforms/windows/check.lua deleted file mode 100644 index 0885534cc..000000000 --- a/xmake/platforms/windows/check.lua +++ /dev/null @@ -1,28 +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-2020, TBOOX Open Source Group. --- --- @author ruki --- @file check.lua --- - --- imports -import("core.project.config") -import("private.platform.check_arch") - --- check it -function main(platform) - check_arch(config) -end diff --git a/xmake/platforms/windows/xmake.lua b/xmake/platforms/windows/xmake.lua index f43d7179c..5c29b0e0b 100644 --- a/xmake/platforms/windows/xmake.lua +++ b/xmake/platforms/windows/xmake.lua @@ -37,8 +37,15 @@ platform("windows") set_formats("binary", "$(name).exe") set_formats("symbol", "$(name).pdb") - -- on check - on_check("check") + -- on check + on_check(function (platform) + import("core.project.config") + local arch = config.get("arch") + if not arch then + config.set("arch", os.arch()) + cprint("checking for the architecture ... ${color.success}%s", config.get("arch")) + end + end) -- set toolchains set_toolchains("vs", "clang", "yasm", "nasm", "cuda", "dlang", "rust", "go") -- cgit v1.3.1