From 154dce70f1019d51040fea6c0d4f8314bb68cb79 Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 25 May 2020 23:57:31 +0800 Subject: fix gcc and clang toolchains for termux --- xmake/toolchains/clang/xmake.lua | 27 +++++++++++++++------------ xmake/toolchains/gcc/xmake.lua | 27 +++++++++++++++------------ 2 files changed, 30 insertions(+), 24 deletions(-) diff --git a/xmake/toolchains/clang/xmake.lua b/xmake/toolchains/clang/xmake.lua index 944a6bc22..8dbef7b47 100644 --- a/xmake/toolchains/clang/xmake.lua +++ b/xmake/toolchains/clang/xmake.lua @@ -44,13 +44,22 @@ toolchain("clang") -- on load on_load(function (toolchain) - -- get march - local march = is_arch("x86_64", "x64") and "-m64" or "-m32" + -- add march flags + local march + if is_arch("x86_64", "x64") then + march = "-m64" + elseif is_arch("i386", "x86") then + march = "-m32" + end + if march then + toolchain:add("cxflags", march) + toolchain:add("mxflags", march) + toolchain:add("asflags", march) + toolchain:add("ldflags", march) + toolchain:add("shflags", march) + end - -- init flags for c/c++ - toolchain:add("cxflags", march) - toolchain:add("ldflags", march) - toolchain:add("shflags", march) + -- add includedirs and linkdirs 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 @@ -63,10 +72,4 @@ toolchain("clang") 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 17270aedb..31276dd5b 100644 --- a/xmake/toolchains/gcc/xmake.lua +++ b/xmake/toolchains/gcc/xmake.lua @@ -44,13 +44,22 @@ toolchain("gcc") -- on load on_load(function (toolchain) - -- get march - local march = is_arch("x86_64", "x64") and "-m64" or "-m32" + -- add march flags + local march + if is_arch("x86_64", "x64") then + march = "-m64" + elseif is_arch("i386", "x86") then + march = "-m32" + end + if march then + toolchain:add("cxflags", march) + toolchain:add("mxflags", march) + toolchain:add("asflags", march) + toolchain:add("ldflags", march) + toolchain:add("shflags", march) + end - -- init flags for c/c++ - toolchain:add("cxflags", march) - toolchain:add("ldflags", march) - toolchain:add("shflags", march) + -- add includedirs and linkdirs 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 @@ -63,10 +72,4 @@ toolchain("gcc") 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) -- cgit v1.3.1