diff options
| author | ruki <[email protected]> | 2021-01-23 23:35:26 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2021-01-23 23:35:26 +0800 |
| commit | 57bf2a8ec017fe9f3b3165f3e29b0c19e12d4fd0 (patch) | |
| tree | 7627c993e4a0db7bb99bdb5f66543aa4bd8ed5f8 /xmake/modules/package/tools/autoconf.lua | |
| parent | 0e11a96c4c81a4d3b61fd8c288af8183d72f72c6 (diff) | |
pass toolchains info for package/tools
Diffstat (limited to 'xmake/modules/package/tools/autoconf.lua')
| -rw-r--r-- | xmake/modules/package/tools/autoconf.lua | 33 |
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") |
