summaryrefslogtreecommitdiff
path: root/xmake/scripts/platform/android/android.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2015-12-01 22:08:33 +0800
committerruki <[email protected]>2015-12-01 22:08:33 +0800
commite88ecbfd2dcdf19908df50abf86fd29032e2d359 (patch)
tree502d0eb3693878ab1d38694740f96bb606c9bc8f /xmake/scripts/platform/android/android.lua
parentd0106834b2f27400fa1cd729fa44e9535a1b36a6 (diff)
fix arm64-v8a for android
Diffstat (limited to 'xmake/scripts/platform/android/android.lua')
-rw-r--r--xmake/scripts/platform/android/android.lua33
1 files changed, 24 insertions, 9 deletions
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