From 4e77f66f67494f546e43afae938e38d5a10be976 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Leclercq?= Date: Tue, 23 Apr 2024 16:14:57 +0200 Subject: [PATCH 1/3] Fix autoconfs not handling shflags and arflags --- xmake/modules/package/tools/autoconf.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/xmake/modules/package/tools/autoconf.lua b/xmake/modules/package/tools/autoconf.lua index 7ffb355e780..d187dc64b2d 100644 --- a/xmake/modules/package/tools/autoconf.lua +++ b/xmake/modules/package/tools/autoconf.lua @@ -226,6 +226,8 @@ function buildenvs(package, opt) cxxflags = table.join(table.wrap(package:config("cxflags")), package:config("cxxflags")) asflags = table.copy(table.wrap(package:config("asflags"))) ldflags = table.copy(table.wrap(package:config("ldflags"))) + shflags = table.copy(table.wrap(package:config("shflags"))) + arflags = table.copy(table.wrap(package:config("arflags"))) if package:is_plat("linux") and package:is_arch("i386") then table.insert(cflags, "-m32") table.insert(cxxflags, "-m32") @@ -239,6 +241,8 @@ function buildenvs(package, opt) table.join2(cppflags, opt.cppflags) -- @see https://github.com/xmake-io/xmake/issues/1688 table.join2(asflags, opt.asflags) table.join2(ldflags, opt.ldflags) + table.join2(shflags, opt.shflags) + table.join2(arflags, opt.arflags) table.join2(cflags, _get_cflags_from_packagedeps(package, opt)) table.join2(cxxflags, _get_cflags_from_packagedeps(package, opt)) table.join2(cppflags, _get_cflags_from_packagedeps(package, opt)) From 365354bdc353ae90dfe1e8918c67e0e6cfb3753d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Leclercq?= Date: Tue, 23 Apr 2024 16:55:06 +0200 Subject: [PATCH 2/3] Update autoconf.lua --- xmake/modules/package/tools/autoconf.lua | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/xmake/modules/package/tools/autoconf.lua b/xmake/modules/package/tools/autoconf.lua index d187dc64b2d..c2b6c1a4db3 100644 --- a/xmake/modules/package/tools/autoconf.lua +++ b/xmake/modules/package/tools/autoconf.lua @@ -226,8 +226,6 @@ function buildenvs(package, opt) cxxflags = table.join(table.wrap(package:config("cxflags")), package:config("cxxflags")) asflags = table.copy(table.wrap(package:config("asflags"))) ldflags = table.copy(table.wrap(package:config("ldflags"))) - shflags = table.copy(table.wrap(package:config("shflags"))) - arflags = table.copy(table.wrap(package:config("arflags"))) if package:is_plat("linux") and package:is_arch("i386") then table.insert(cflags, "-m32") table.insert(cxxflags, "-m32") @@ -241,8 +239,6 @@ function buildenvs(package, opt) table.join2(cppflags, opt.cppflags) -- @see https://github.com/xmake-io/xmake/issues/1688 table.join2(asflags, opt.asflags) table.join2(ldflags, opt.ldflags) - table.join2(shflags, opt.shflags) - table.join2(arflags, opt.arflags) table.join2(cflags, _get_cflags_from_packagedeps(package, opt)) table.join2(cxxflags, _get_cflags_from_packagedeps(package, opt)) table.join2(cppflags, _get_cflags_from_packagedeps(package, opt)) @@ -316,7 +312,7 @@ function buildenvs(package, opt) table.join2(ldflags, _map_linkflags(fake_target, "binary", {"cxx"}, "runtime", runtimes)) fake_target = {is_shared = function(_) return true end, sourcekinds = function(_) return "cxx" end} - table.join2(shflags, _map_linkflags(fake_target, "shared", {"cxx"}, "runtime", runtimes)) + shflags = table.join2(shflags or {}, _map_linkflags(fake_target, "shared", {"cxx"}, "runtime", runtimes)) end if package:config("asan") then table.join2(cflags, package:_generate_sanitizer_configs("address", "cc").cflags) From c628db675ad705e67eb17e91a2c4c0e4a3dbd57c Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 23 Apr 2024 23:31:05 +0800 Subject: [PATCH 3/3] Update autoconf.lua --- xmake/modules/package/tools/autoconf.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/xmake/modules/package/tools/autoconf.lua b/xmake/modules/package/tools/autoconf.lua index c2b6c1a4db3..02666beecdc 100644 --- a/xmake/modules/package/tools/autoconf.lua +++ b/xmake/modules/package/tools/autoconf.lua @@ -226,11 +226,13 @@ function buildenvs(package, opt) cxxflags = table.join(table.wrap(package:config("cxflags")), package:config("cxxflags")) asflags = table.copy(table.wrap(package:config("asflags"))) ldflags = table.copy(table.wrap(package:config("ldflags"))) + shflags = table.copy(table.wrap(package:config("shflags"))) if package:is_plat("linux") and package:is_arch("i386") then table.insert(cflags, "-m32") table.insert(cxxflags, "-m32") table.insert(asflags, "-m32") table.insert(ldflags, "-m32") + table.insert(shflags, "-m32") end table.join2(cflags, opt.cflags) table.join2(cflags, opt.cxflags) @@ -239,10 +241,12 @@ function buildenvs(package, opt) table.join2(cppflags, opt.cppflags) -- @see https://github.com/xmake-io/xmake/issues/1688 table.join2(asflags, opt.asflags) table.join2(ldflags, opt.ldflags) + table.join2(shflags, opt.shflags) table.join2(cflags, _get_cflags_from_packagedeps(package, opt)) table.join2(cxxflags, _get_cflags_from_packagedeps(package, opt)) table.join2(cppflags, _get_cflags_from_packagedeps(package, opt)) table.join2(ldflags, _get_ldflags_from_packagedeps(package, opt)) + table.join2(shflags, _get_ldflags_from_packagedeps(package, opt)) else cross = true cppflags = {} @@ -312,12 +316,13 @@ function buildenvs(package, opt) table.join2(ldflags, _map_linkflags(fake_target, "binary", {"cxx"}, "runtime", runtimes)) fake_target = {is_shared = function(_) return true end, sourcekinds = function(_) return "cxx" end} - shflags = table.join2(shflags or {}, _map_linkflags(fake_target, "shared", {"cxx"}, "runtime", runtimes)) + table.join2(shflags, _map_linkflags(fake_target, "shared", {"cxx"}, "runtime", runtimes)) end if package:config("asan") then table.join2(cflags, package:_generate_sanitizer_configs("address", "cc").cflags) table.join2(cxxflags, package:_generate_sanitizer_configs("address", "cxx").cxxflags) table.join2(ldflags, package:_generate_sanitizer_configs("address").ldflags) + table.join2(shflags, package:_generate_sanitizer_configs("address").shflags) end if cflags then envs.CFLAGS = table.concat(_translate_paths(cflags), ' ')