From e88ecbfd2dcdf19908df50abf86fd29032e2d359 Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 1 Dec 2015 22:08:33 +0800 Subject: fix arm64-v8a for android --- xmake/scripts/platform/android/android.lua | 33 ++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 9 deletions(-) (limited to 'xmake/scripts/platform/android/android.lua') diff --git a/xmake/scripts/platform/android/android.lua b/xmake/scripts/platform/android/android.lua index 402a1547f..5226495b0 100644 --- a/xmake/scripts/platform/android/android.lua +++ b/xmake/scripts/platform/android/android.lua @@ -33,7 +33,7 @@ android._HOST = xmake._HOST android._OS = "android" -- init architectures -android._ARCHS = {"armv5te", "armv6", "armv7-a", "arm64-v8a"} +android._ARCHS = {"armv5te", "armv6", "armv7-a", "armv8-a", "arm64-v8a"} -- make configure function android.make(configs) @@ -56,20 +56,35 @@ function android.make(configs) configs.tools.sh = config.get("sh") -- init flags - configs.cxflags = { "-march=" .. config.get("arch"), "-mthumb" } - configs.asflags = { "-march=" .. config.get("arch"), "-mthumb" } - configs.ldflags = { "-march=" .. config.get("arch"), "-llog", "-mthumb" } - configs.shflags = { "-march=" .. config.get("arch"), "-llog", "-mthumb" } + local arch = config.get("arch") + if arch:startswith("arm64") then + configs.cxflags = {} + configs.asflags = {} + configs.ldflags = {"-llog"} + configs.shflags = {"-llog"} + else + configs.cxflags = { "-march=" .. arch, "-mthumb"} + configs.asflags = { "-march=" .. arch, "-mthumb"} + configs.ldflags = { "-march=" .. arch, "-llog", "-mthumb"} + configs.shflags = { "-march=" .. arch, "-llog", "-mthumb"} + end -- add flags for the sdk directory of ndk local ndk = config.get("ndk") local ndk_sdkver = config.get("ndk_sdkver") if ndk and ndk_sdkver then local ndk_sdkdir = path.translate(string.format("%s/platforms/android-%d", ndk, ndk_sdkver)) - table.insert(configs.cxflags, string.format("--sysroot=%s/arch-arm", ndk_sdkdir)) - table.insert(configs.asflags, string.format("--sysroot=%s/arch-arm", ndk_sdkdir)) - table.insert(configs.ldflags, string.format("--sysroot=%s/arch-arm", ndk_sdkdir)) - table.insert(configs.shflags, string.format("--sysroot=%s/arch-arm", ndk_sdkdir)) + if arch:startswith("arm64") then + table.insert(configs.cxflags, string.format("--sysroot=%s/arch-arm64", ndk_sdkdir)) + table.insert(configs.asflags, string.format("--sysroot=%s/arch-arm64", ndk_sdkdir)) + table.insert(configs.ldflags, string.format("--sysroot=%s/arch-arm64", ndk_sdkdir)) + table.insert(configs.shflags, string.format("--sysroot=%s/arch-arm64", ndk_sdkdir)) + else + table.insert(configs.cxflags, string.format("--sysroot=%s/arch-arm", ndk_sdkdir)) + table.insert(configs.asflags, string.format("--sysroot=%s/arch-arm", ndk_sdkdir)) + table.insert(configs.ldflags, string.format("--sysroot=%s/arch-arm", ndk_sdkdir)) + table.insert(configs.shflags, string.format("--sysroot=%s/arch-arm", ndk_sdkdir)) + end end end -- cgit v1.3.1