diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2017-05-13 10:24:29 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-13 10:24:29 -0500 |
commit | 286bfb96a06705e37e690be07a51f5e1797f35b0 (patch) | |
tree | be4fc497a0f959ca4f73fb9b476149c52bbb7207 /python/servo/command_base.py | |
parent | 2766529c2450ba3fac1b7669c195869a0f7e341b (diff) | |
parent | 01228282cd7725a1c8d822006a42acc84c4eef2c (diff) | |
download | servo-286bfb96a06705e37e690be07a51f5e1797f35b0.tar.gz servo-286bfb96a06705e37e690be07a51f5e1797f35b0.zip |
Auto merge of #16769 - MortimerGoro:android_archs, r=larsbergstrom
Support for Android armv7 and aarch64 target triples
<!-- Please describe your changes on the following line: -->
Support for Android armv7 and aarch64 target triples in python build scripts (build + packaging)
`--android` build parameter works as always (arm-linux-androideabi still the default)
`./mach build --release --android`
New compilation modes for android
`./mach build --release --target=arm-linux-androideabi`
`./mach build --release --target=armv7-linux-androideabi`
`./mach build --release --target=aarch64-linux-android`
See https://github.com/servo/servo/issues/11921. When all crates are ready we'll switch default android compilations to` armv7-linux-androideabi` target triple.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).
<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16769)
<!-- Reviewable:end -->
Diffstat (limited to 'python/servo/command_base.py')
-rw-r--r-- | python/servo/command_base.py | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/python/servo/command_base.py b/python/servo/command_base.py index 7ab5191b41a..8f04fde27e4 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: |