summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2018-11-26 23:59:15 +0800
committerruki <[email protected]>2018-11-26 17:55:34 +0800
commit6c56467b2938a414f62311133fe8a0edb3aaa5c6 (patch)
tree05dd3d26d694bca0eae5f81be0e6caec2d641af5
parent71888bdd3f13b3ea41c6ec10586c863aa4f35abb (diff)
inherit flags for autoconf
-rw-r--r--xmake/modules/package/tools/autoconf.lua19
1 files changed, 19 insertions, 0 deletions
diff --git a/xmake/modules/package/tools/autoconf.lua b/xmake/modules/package/tools/autoconf.lua
index 8a47bf8de..8d216bb25 100644
--- a/xmake/modules/package/tools/autoconf.lua
+++ b/xmake/modules/package/tools/autoconf.lua
@@ -49,8 +49,27 @@ function install(package, configs)
table.insert(argv, "--" .. name .. "=" .. value)
end
end
+
+ -- inherit flags from configs
+ local flags_prev = {}
+ for _, name in ipairs({"cflags", "cxxflags", "ldflags"}) do
+ local flags = package:config(name) or configs[name]
+ if flags then
+ flags_prev[name] = os.getenv(name:upper())
+ os.addenv(name:upper(), flags)
+ end
+ end
+
+ -- do configure
os.vrunv("./configure", argv)
+
+ -- do make and install
os.vrun("make -j4")
os.vrun("make install")
+
+ -- restore flags
+ for name, flags in pairs(flags_prev) do
+ os.setenv(name:upper(), flags)
+ end
end