diff options
| author | ruki <[email protected]> | 2020-03-27 22:39:53 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-03-27 09:59:22 +0800 |
| commit | bbf30dbc869965a523ba20a0ca65be163fd80d06 (patch) | |
| tree | d7b290a342daed2b02922e843973e92e2d682438 /xmake/modules | |
| parent | eb477c19a1e5f4cf7cd8320dcca30d1562c285fc (diff) | |
improve android abi
Diffstat (limited to 'xmake/modules')
| -rw-r--r-- | xmake/modules/detect/sdks/find_ndk.lua | 14 | ||||
| -rw-r--r-- | xmake/modules/detect/sdks/find_qt.lua | 2 | ||||
| -rw-r--r-- | xmake/modules/package/manager/conan/find_package.lua | 24 | ||||
| -rw-r--r-- | xmake/modules/package/manager/conan/install_package.lua | 24 | ||||
| -rw-r--r-- | xmake/modules/package/tools/autoconf.lua | 12 | ||||
| -rw-r--r-- | xmake/modules/private/action/trybuild/autotools.lua | 12 |
6 files changed, 50 insertions, 38 deletions
diff --git a/xmake/modules/detect/sdks/find_ndk.lua b/xmake/modules/detect/sdks/find_ndk.lua index 70801d697..f88d54693 100644 --- a/xmake/modules/detect/sdks/find_ndk.lua +++ b/xmake/modules/detect/sdks/find_ndk.lua @@ -103,13 +103,15 @@ function _find_ndk(sdkdir, arch, ndk_sdkver, ndk_toolchains_ver) -- get cross local crosses = { - ["armv5te"] = "arm-linux-androideabi-" - , ["armv7-a"] = "arm-linux-androideabi-" + ["armv5te"] = "arm-linux-androideabi-" -- deprecated + , ["armv7-a"] = "arm-linux-androideabi-" -- deprecated + , ["armeabi"] = "arm-linux-androideabi-" -- removed in ndk r17 + , ["armeabi-v7a"] = "arm-linux-androideabi-" , ["arm64-v8a"] = "aarch64-linux-android-" , i386 = "i686-linux-android-" , x86_64 = "x86_64-linux-android-" - , mips = "mips-linux-android-" - , mips64 = "mips64-linux-android-" + , mips = "mips-linux-android-" -- removed in ndk r17 + , mips64 = "mips64-linux-android-" -- removed in ndk r17 } local cross = crosses[arch] @@ -118,6 +120,8 @@ function _find_ndk(sdkdir, arch, ndk_sdkver, ndk_toolchains_ver) { ["armv5te"] = "arm-linux-androideabi-*" , ["armv7-a"] = "arm-linux-androideabi-*" + , ["armeabi"] = "arm-linux-androideabi-*" + , ["armeabi-v7a"] = "arm-linux-androideabi-*" , ["arm64-v8a"] = "aarch64-linux-android-*" , i386 = "x86-*" , x86_64 = "x86_64-*" @@ -174,7 +178,7 @@ end -- -- @param sdkdir the ndk directory -- @param opt the argument options --- e.g. {arch = "[armv5te|armv6|armv7-a|armv8-a|arm64-v8a]", verbose = true, force = false, sdkver = 19, toolchains_ver = "4.9"} +-- e.g. {arch = "[armeabi|armeabi-v7a|arm64-v8a]", verbose = true, force = false, sdkver = 19, toolchains_ver = "4.9"} -- -- @return the ndk toolchains. e.g. {bindir = .., cross = ..} -- diff --git a/xmake/modules/detect/sdks/find_qt.lua b/xmake/modules/detect/sdks/find_qt.lua index e6c77ebf5..9062a9212 100644 --- a/xmake/modules/detect/sdks/find_qt.lua +++ b/xmake/modules/detect/sdks/find_qt.lua @@ -49,7 +49,7 @@ function _find_sdkdir(sdkdir, sdkver) local subdir = "android_*" if is_arch("arm64-v8a") then subdir = "android_arm64_v8a" - elseif is_arch("armv7-a") then + elseif is_arch("armeabi-v7a", "armeabi", "armv7-a", "armv5te") then -- armv7-a/armv5te are deprecated subdir = "android_armv7" elseif is_arch("i386") then subdir = "android_x86" diff --git a/xmake/modules/package/manager/conan/find_package.lua b/xmake/modules/package/manager/conan/find_package.lua index 233784976..bdfd1715e 100644 --- a/xmake/modules/package/manager/conan/find_package.lua +++ b/xmake/modules/package/manager/conan/find_package.lua @@ -35,17 +35,19 @@ end -- get conan architecture function _conan_get_arch(opt) - local archs = {x86_64 = "x86_64", - x64 = "x86_64", - i386 = "x86", - x86 = "x86", - armv7 = "armv7", - ["armv7-a"] = "armv7", -- for android - armv7s = "armv7s", -- for iphoneos - arm64 = "armv8", -- for iphoneos - ["arm64-v8a"] = "armv8", -- for android - mips = "mips", - mips64 = "mips64"} + local archs = {x86_64 = "x86_64", + x64 = "x86_64", + i386 = "x86", + x86 = "x86", + armv7 = "armv7", + ["armv7-a"] = "armv7", -- for android, deprecated + ["armeabi"] = "armv7", -- for android, removed in ndk r17 + ["armeabi-v7a"] = "armv7", -- for android + armv7s = "armv7s", -- for iphoneos + arm64 = "armv8", -- for iphoneos + ["arm64-v8a"] = "armv8", -- for android + mips = "mips", + mips64 = "mips64"} return archs[opt.arch] end diff --git a/xmake/modules/package/manager/conan/install_package.lua b/xmake/modules/package/manager/conan/install_package.lua index 458816220..a74cd8817 100644 --- a/xmake/modules/package/manager/conan/install_package.lua +++ b/xmake/modules/package/manager/conan/install_package.lua @@ -177,17 +177,19 @@ function main(name, opt) end -- set architecture - local archs = {x86_64 = "x86_64", - x64 = "x86_64", - i386 = "x86", - x86 = "x86", - armv7 = "armv7", - ["armv7-a"] = "armv7", -- for android - armv7s = "armv7s", -- for iphoneos - arm64 = "armv8", -- for iphoneos - ["arm64-v8a"] = "armv8", -- for android - mips = "mips", - mips64 = "mips64"} + local archs = {x86_64 = "x86_64", + x64 = "x86_64", + i386 = "x86", + x86 = "x86", + armv7 = "armv7", + ["armv7-a"] = "armv7", -- for android, deprecated + ["armeabi"] = "armv7", -- for android, removed in ndk r17 + ["armeabi-v7a"] = "armv7", -- for android + armv7s = "armv7s", -- for iphoneos + arm64 = "armv8", -- for iphoneos + ["arm64-v8a"] = "armv8", -- for android + mips = "mips", + mips64 = "mips64"} table.insert(argv, "-s") local arch = archs[opt.arch] if arch then diff --git a/xmake/modules/package/tools/autoconf.lua b/xmake/modules/package/tools/autoconf.lua index 4b83d12ef..c029b3d54 100644 --- a/xmake/modules/package/tools/autoconf.lua +++ b/xmake/modules/package/tools/autoconf.lua @@ -45,15 +45,17 @@ function _get_configs(package, configs) -- @see https://developer.android.com/ndk/guides/other_build_systems#autoconf local triples = { - ["armv5te"] = "arm-linux-androideabi", - ["armv7-a"] = "arm-linux-androideabi", + ["armv5te"] = "arm-linux-androideabi", -- deprecated + ["armv7-a"] = "arm-linux-androideabi", -- deprecated + ["armeabi"] = "arm-linux-androideabi", -- removed in ndk r17 + ["armeabi-v7a"] = "arm-linux-androideabi", ["arm64-v8a"] = "aarch64-linux-android", i386 = "i686-linux-android", x86_64 = "x86_64-linux-android", - mips = "mips-linux-android", - mips64 = "mips64-linux-android" + mips = "mips-linux-android", -- removed in ndk r17 + mips64 = "mips64-linux-android" -- removed in ndk r17 } - table.insert(configs, "--host=" .. (triples[package:arch()] or triples["armv7-a"])) + table.insert(configs, "--host=" .. (triples[package:arch()] or triples["armeabi-v7a"])) elseif package:is_plat("mingw") then local triples = { diff --git a/xmake/modules/private/action/trybuild/autotools.lua b/xmake/modules/private/action/trybuild/autotools.lua index 6b0861b62..54f81d18d 100644 --- a/xmake/modules/private/action/trybuild/autotools.lua +++ b/xmake/modules/private/action/trybuild/autotools.lua @@ -129,15 +129,17 @@ function _get_configs(artifacts_dir) -- @see https://developer.android.com/ndk/guides/other_build_systems#autoconf local triples = { - ["armv5te"] = "arm-linux-androideabi", - ["armv7-a"] = "arm-linux-androideabi", + ["armv5te"] = "arm-linux-androideabi", -- deprecated + ["armv7-a"] = "arm-linux-androideabi", -- deprecated + ["armeabi"] = "arm-linux-androideabi", -- removed in ndk r17 + ["armeabi-v7a"] = "arm-linux-androideabi", ["arm64-v8a"] = "aarch64-linux-android", i386 = "i686-linux-android", x86_64 = "x86_64-linux-android", - mips = "mips-linux-android", - mips64 = "mips64-linux-android" + mips = "mips-linux-android", -- removed in ndk r17 + mips64 = "mips64-linux-android" -- removed in ndk r17 } - table.insert(configs, "--host=" .. (triples[config.arch()] or triples["armv7-a"])) + table.insert(configs, "--host=" .. (triples[config.arch()] or triples["armeabi-v7a"])) elseif is_plat("mingw") then local triples = { |
