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