diff options
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") |
