diff options
| author | ruki <[email protected]> | 2018-11-26 23:59:15 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2018-11-26 17:55:34 +0800 |
| commit | 6c56467b2938a414f62311133fe8a0edb3aaa5c6 (patch) | |
| tree | 05dd3d26d694bca0eae5f81be0e6caec2d641af5 | |
| parent | 71888bdd3f13b3ea41c6ec10586c863aa4f35abb (diff) | |
inherit flags for autoconf
| -rw-r--r-- | xmake/modules/package/tools/autoconf.lua | 19 |
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 |
