diff options
| author | ruki <[email protected]> | 2019-04-23 00:46:56 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2019-04-22 22:41:41 +0800 |
| commit | 622ffac19d48807ad132b26b06c10614612e76b9 (patch) | |
| tree | 8247b26cd5000b8051f70c8a86f8c693eff78ce4 /xmake/modules/package/tools/autoconf.lua | |
| parent | 7e50a99af45fe32e6ea3567925b3ab19b67da0dc (diff) | |
improve autoconf
Diffstat (limited to 'xmake/modules/package/tools/autoconf.lua')
| -rw-r--r-- | xmake/modules/package/tools/autoconf.lua | 46 |
1 files changed, 32 insertions, 14 deletions
diff --git a/xmake/modules/package/tools/autoconf.lua b/xmake/modules/package/tools/autoconf.lua index 74c6cce1c..d1ed3de09 100644 --- a/xmake/modules/package/tools/autoconf.lua +++ b/xmake/modules/package/tools/autoconf.lua @@ -31,9 +31,11 @@ function _enter_envs(package) -- get old environments local envs = {} envs.CC = os.getenv("CC") - envs.LD = os.getenv("LD") + envs.AS = os.getenv("AS") envs.AR = os.getenv("AR") - envs.SH = os.getenv("SH") + envs.LD = os.getenv("LD") + envs.LDSHARED = os.getenv("LDSHARED") + envs.RANLIB = os.getenv("RANLIB") envs.CFLAGS = os.getenv("CFLAGS") envs.CXXFLAGS = os.getenv("CXXFLAGS") envs.ASFLAGS = os.getenv("ASFLAGS") @@ -44,17 +46,28 @@ function _enter_envs(package) envs.PKG_CONFIG_PATH = os.getenv("PKG_CONFIG_PATH") -- set new environments - os.addenvp("CC", package:build_getenv("cc"), ' ') - os.addenvp("AR", package:build_getenv("ar"), ' ') - os.addenvp("LD", package:build_getenv("ld"), ' ') - os.addenvp("SH", package:build_getenv("sh"), ' ') - os.addenvp("CFLAGS", package:build_getenv("cflags"), ' ') - os.addenvp("CFLAGS", package:build_getenv("cxflags"), ' ') - os.addenvp("CXXFLAGS", package:build_getenv("cxflags"), ' ') - os.addenvp("CXXFLAGS", package:build_getenv("cxxflags"), ' ') - os.addenvp("ASFLAGS", package:build_getenv("asflags"), ' ') - os.addenvp("LDFLAGS", package:build_getenv("ldflags"), ' ') - os.addenvp("SHFLAGS", package:build_getenv("shflags"), ' ') + if package:plat() == os.host() then + os.addenvp("CFLAGS", package:config("cflags"), ' ') + os.addenvp("CFLAGS", package:config("cxflags"), ' ') + os.addenvp("CXXFLAGS", package:config("cxflags"), ' ') + os.addenvp("CXXFLAGS", package:config("cxxflags"), ' ') + os.addenvp("ASFLAGS", package:config("asflags"), ' ') + else + os.setenv("RANLIB", "") + os.addenvp("CC", package:build_getenv("cc"), ' ') + os.addenvp("AS", package:build_getenv("as"), ' ') + os.addenvp("AR", package:build_getenv("ar"), ' ') + os.addenvp("LD", package:build_getenv("ld"), ' ') + os.addenvp("LDSHARED", package:build_getenv("sh"), ' ') + os.addenvp("CFLAGS", package:build_getenv("cflags"), ' ') + os.addenvp("CFLAGS", package:build_getenv("cxflags"), ' ') + os.addenvp("CXXFLAGS", package:build_getenv("cxflags"), ' ') + os.addenvp("CXXFLAGS", package:build_getenv("cxxflags"), ' ') + os.addenvp("ASFLAGS", package:build_getenv("asflags"), ' ') + os.addenvp("ARFLAGS", package:build_getenv("arflags"), ' ') + os.addenvp("LDFLAGS", package:build_getenv("ldflags"), ' ') + os.addenvp("SHFLAGS", package:build_getenv("shflags"), ' ') + end for _, dep in ipairs(package:orderdeps()) do local pkgconfig = path.join(dep:installdir(), "lib", "pkgconfig") if os.isdir(pkgconfig) then @@ -76,7 +89,7 @@ function _leave_envs(package, envs) end -- install package -function install(package, configs) +function install(package, configs, opt) -- generate configure file if not os.isfile("configure") then @@ -106,6 +119,11 @@ function install(package, configs) -- do configure os.vrunv("./configure", argv) + -- do before_build() + if opt and opt.before_build then + opt.before_build() + end + -- do make and install os.vrun("make -j4") os.vrun("make install") |
