diff options
| author | ruki <[email protected]> | 2018-11-12 23:15:48 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2018-11-12 13:34:49 +0800 |
| commit | a4f4d5ef608799058b8d93907815bcac0a3dba2a (patch) | |
| tree | 65e857056a7bf0191bcaa13eabb56fa692cd0cf7 /xmake/platforms/linux/load.lua | |
| parent | 0d6defd8520b2a93e02a5872a067a611d1b839cc (diff) | |
improve all platform flags
Diffstat (limited to 'xmake/platforms/linux/load.lua')
| -rw-r--r-- | xmake/platforms/linux/load.lua | 55 |
1 files changed, 24 insertions, 31 deletions
diff --git a/xmake/platforms/linux/load.lua b/xmake/platforms/linux/load.lua index 95cb376cf..e6af9a61a 100644 --- a/xmake/platforms/linux/load.lua +++ b/xmake/platforms/linux/load.lua @@ -26,7 +26,7 @@ import("core.project.config") -- load it -function main() +function main(platform) -- cross toolchains? if config.get("cross") or config.get("bin") or config.get("sdk") then @@ -34,12 +34,12 @@ function main() -- init linkdirs and includedirs local sdkdir = config.get("sdk") if sdkdir then - _g.includedirs = {path.join(sdkdir, "include")} - _g.linkdirs = {path.join(sdkdir, "lib")} + platform:add("includedirs", path.join(sdkdir, "include")) + platform:add("linkdirs", path.join(sdkdir, "lib")) end -- ok - return _g + return end -- init flags for architecture @@ -52,48 +52,41 @@ function main() end -- init flags for c/c++ - _g.cxflags = { archflags, "-I/usr/local/include", "-I/usr/include" } - _g.ldflags = { archflags, "-L/usr/local/lib", "-L/usr/lib" } - _g.shflags = { archflags, "-L/usr/local/lib", "-L/usr/lib" } + 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 _g.ldflags and _g.shflags) - _g.mxflags = { archflags } + -- init flags for objc/c++ (with ldflags and shflags) + platform:add("mxflags", archflags) -- init flags for asm - local as = config.get("as") - if as == "yasm" then - _g.asflags = { "-f", arch == "x86_64" and "elf64" or "elf32" } - else - _g.asflags = { archflags } - end + platform:add("yasm.asflags", "-f", arch == "x86_64" and "elf64" or "elf32") + platform:add("asflags", archflags) -- init flags for golang - _g["gc-ldflags"] = {} + platform:set("gc-ldflags", "") -- init flags for dlang local dc_archs = { i386 = "-m32", x86_64 = "-m64" } - _g.dcflags = { dc_archs[arch] or "" } - _g["dc-shflags"] = { dc_archs[arch] or "" } - _g["dc-ldflags"] = { dc_archs[arch] or "" } + platform:add("dcflags", dc_archs[arch] or "") + platform:add("dc-shflags", dc_archs[arch] or "") + platform:add("dc-ldflags", dc_archs[arch] or "") -- init flags for rust - _g["rc-shflags"] = {} - _g["rc-ldflags"] = {} + platform:set("rc-shflags", "") + platform:set("rc-ldflags", "") -- init flags for cuda local cu_archs = { i386 = "-m32 -Xcompiler -m32", x86_64 = "-m64 -Xcompiler -m64" } - _g.cuflags = {cu_archs[arch] or ""} - _g["cu-shflags"] = {cu_archs[arch] or ""} - _g["cu-ldflags"] = {cu_archs[arch] or ""} + platform:add("cuflags", cu_archs[arch] or "") + platform:add("cu-shflags", cu_archs[arch] or "") + platform:add("cu-ldflags", cu_archs[arch] or "") local cuda_dir = config.get("cuda") if cuda_dir then - table.insert(_g.cuflags, "-I" .. os.args(path.join(cuda_dir, "include"))) - table.insert(_g["cu-ldflags"], "-L" .. os.args(path.join(cuda_dir, "lib"))) - table.insert(_g["cu-shflags"], "-L" .. os.args(path.join(cuda_dir, "lib"))) - table.insert(_g["cu-ldflags"], "-Xlinker -rpath=" .. os.args(path.join(cuda_dir, "lib"))) + platform:add("cuflags", "-I" .. os.args(path.join(cuda_dir, "include"))) + platform:add("cu-ldflags", "-L" .. os.args(path.join(cuda_dir, "lib"))) + platform:add("cu-shflags", "-L" .. os.args(path.join(cuda_dir, "lib"))) + platform:add("cu-ldflags", "-Xlinker -rpath=" .. os.args(path.join(cuda_dir, "lib"))) end - - -- ok - return _g end |
