aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo/command_base.py
diff options
context:
space:
mode:
authorImanol Fernandez <mortimergoro@gmail.com>2017-05-08 14:26:07 +0200
committerImanol Fernandez <mortimergoro@gmail.com>2017-05-08 17:28:59 +0200
commit01228282cd7725a1c8d822006a42acc84c4eef2c (patch)
tree953eb66b57d0430633121061a2ea16c8041056cb /python/servo/command_base.py
parentf6bd158fd4287226a881e58020f7dc154fa32532 (diff)
downloadservo-01228282cd7725a1c8d822006a42acc84c4eef2c.tar.gz
servo-01228282cd7725a1c8d822006a42acc84c4eef2c.zip
Support for Android armv7 and aarch64 target triples
Diffstat (limited to 'python/servo/command_base.py')
-rw-r--r--python/servo/command_base.py29
1 files changed, 26 insertions, 3 deletions
diff --git a/python/servo/command_base.py b/python/servo/command_base.py
index be275347007..e3cb447779c 100644
--- a/python/servo/command_base.py
+++ b/python/servo/command_base.py
@@ -277,8 +277,7 @@ class CommandBase(object):
self.config["android"].setdefault("sdk", "")
self.config["android"].setdefault("ndk", "")
self.config["android"].setdefault("toolchain", "")
- self.config["android"].setdefault("platform", "android-18")
- self.config["android"].setdefault("target", "arm-linux-androideabi")
+ self.handle_android_target("arm-linux-androideabi")
self.set_cargo_root()
self.set_use_stable_rust(False)
@@ -538,7 +537,31 @@ class CommandBase(object):
return path.join(self.context.topdir, "support", "android")
def android_build_dir(self, dev):
- return path.join(self.get_target_dir(), "arm-linux-androideabi", "debug" if dev else "release")
+ return path.join(self.get_target_dir(), self.config["android"]["target"], "debug" if dev else "release")
+
+ def handle_android_target(self, target):
+ if target == "arm-linux-androideabi":
+ self.config["android"]["platform"] = "android-18"
+ self.config["android"]["target"] = target
+ self.config["android"]["arch"] = "arm"
+ self.config["android"]["lib"] = "armeabi"
+ self.config["android"]["toolchain_name"] = target + "-4.9"
+ return True
+ elif target == "armv7-linux-androideabi":
+ self.config["android"]["platform"] = "android-18"
+ self.config["android"]["target"] = target
+ self.config["android"]["arch"] = "arm"
+ self.config["android"]["lib"] = "armeabi-v7a"
+ self.config["android"]["toolchain_name"] = "arm-linux-androideabi-4.9"
+ return True
+ elif target == "aarch64-linux-android":
+ self.config["android"]["platform"] = "android-21"
+ self.config["android"]["target"] = target
+ self.config["android"]["arch"] = "arm64"
+ self.config["android"]["lib"] = "arm64-v8a"
+ self.config["android"]["toolchain_name"] = target + "-4.9"
+ return True
+ return False
def ensure_bootstrapped(self, target=None):
if self.context.bootstrapped: