summaryrefslogtreecommitdiff
path: root/xmake/modules/package/tools/autoconf.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2021-01-23 23:35:26 +0800
committerruki <[email protected]>2021-01-23 23:35:26 +0800
commit57bf2a8ec017fe9f3b3165f3e29b0c19e12d4fd0 (patch)
tree7627c993e4a0db7bb99bdb5f66543aa4bd8ed5f8 /xmake/modules/package/tools/autoconf.lua
parent0e11a96c4c81a4d3b61fd8c288af8183d72f72c6 (diff)
pass toolchains info for package/tools
Diffstat (limited to 'xmake/modules/package/tools/autoconf.lua')
-rw-r--r--xmake/modules/package/tools/autoconf.lua33
1 files changed, 28 insertions, 5 deletions
diff --git a/xmake/modules/package/tools/autoconf.lua b/xmake/modules/package/tools/autoconf.lua
index 0f50bbb6d..19cba3365 100644
--- a/xmake/modules/package/tools/autoconf.lua
+++ b/xmake/modules/package/tools/autoconf.lua
@@ -21,6 +21,8 @@
-- imports
import("core.base.option")
import("core.project.config")
+import("core.tool.linker")
+import("core.tool.compiler")
-- translate path
function _translate_path(package, p)
@@ -122,11 +124,17 @@ function buildenvs(package, opt)
envs.ASFLAGS = table.concat(asflags, ' ')
envs.LDFLAGS = table.concat(ldflags, ' ')
else
- local cflags = table.join(table.wrap(package:build_getenv("cxflags")), package:build_getenv("cflags"))
- local cxxflags = table.join(table.wrap(package:build_getenv("cxflags")), package:build_getenv("cxxflags"))
- local asflags = table.copy(table.wrap(package:build_getenv("asflags")))
- local ldflags = table.copy(table.wrap(package:build_getenv("ldflags")))
- local shflags = table.copy(table.wrap(package:build_getenv("shflags")))
+ local cflags = table.join(table.wrap(package:build_getenv("cxflags")), package:build_getenv("cflags"))
+ local cxxflags = table.join(table.wrap(package:build_getenv("cxflags")), package:build_getenv("cxxflags"))
+ local asflags = table.copy(table.wrap(package:build_getenv("asflags")))
+ local ldflags = table.copy(table.wrap(package:build_getenv("ldflags")))
+ local shflags = table.copy(table.wrap(package:build_getenv("shflags")))
+ local defines = package:build_getenv("defines")
+ local includedirs = package:build_getenv("includedirs")
+ local sysincludedirs = package:build_getenv("sysincludedirs")
+ local links = package:build_getenv("links")
+ local syslinks = package:build_getenv("syslinks")
+ local linkdirs = package:build_getenv("linkdirs")
table.join2(cflags, opt.cflags)
table.join2(cflags, opt.cxflags)
table.join2(cxxflags, opt.cxxflags)
@@ -134,6 +142,21 @@ function buildenvs(package, opt)
table.join2(asflags, opt.asflags)
table.join2(ldflags, opt.ldflags)
table.join2(shflags, opt.shflags)
+ table.join2(cflags, compiler.map_flags("c", "define", defines))
+ table.join2(cflags, compiler.map_flags("c", "includedir", includedirs))
+ table.join2(cflags, compiler.map_flags("c", "sysincludedir", sysincludedirs))
+ table.join2(asflags, compiler.map_flags("as", "define", defines))
+ table.join2(asflags, compiler.map_flags("as", "includedir", includedirs))
+ table.join2(asflags, compiler.map_flags("as", "sysincludedir", sysincludedirs))
+ table.join2(cxxflags, compiler.map_flags("cxx", "define", defines))
+ table.join2(cxxflags, compiler.map_flags("cxx", "includedir", includedirs))
+ table.join2(cxxflags, compiler.map_flags("cxx", "sysincludedir", sysincludedirs))
+ table.join2(ldflags, linker.map_flags("binary", {"cxx"}, "link", links))
+ table.join2(ldflags, linker.map_flags("binary", {"cxx"}, "syslink", syslinks))
+ table.join2(ldflags, linker.map_flags("binary", {"cxx"}, "linkdir", linkdirs))
+ table.join2(shflags, linker.map_flags("shared", {"cxx"}, "link", links))
+ table.join2(shflags, linker.map_flags("shared", {"cxx"}, "syslink", syslinks))
+ table.join2(shflags, linker.map_flags("shared", {"cxx"}, "linkdir", linkdirs))
envs.CC = package:build_getenv("cc")
envs.AS = package:build_getenv("as")
envs.AR = package:build_getenv("ar")