aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo/build_commands.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/servo/build_commands.py')
-rw-r--r--python/servo/build_commands.py28
1 files changed, 17 insertions, 11 deletions
diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py
index f525cee020c..40db368bfe8 100644
--- a/python/servo/build_commands.py
+++ b/python/servo/build_commands.py
@@ -176,21 +176,23 @@ class MachCommands(CommandBase):
print("Please specify either --dev or --release.")
sys.exit(1)
- targets = []
+ if target and android:
+ print("Please specify either --target or --android.")
+ sys.exit(1)
+
if release:
opts += ["--release"]
- if target:
- opts += ["--target", target]
- targets.append(target)
if jobs is not None:
opts += ["-j", jobs]
if verbose:
opts += ["-v"]
if android:
- opts += ["--target", self.config["android"]["target"]]
- targets.append("arm-linux-androideabi")
+ target = self.config["android"]["target"]
+
+ if target:
+ opts += ["--target", target]
- self.ensure_bootstrapped(targets=targets)
+ self.ensure_bootstrapped(target=target)
if debug_mozjs or self.config["build"]["debug-mozjs"]:
features += ["script/debugmozjs"]
@@ -203,9 +205,13 @@ class MachCommands(CommandBase):
build_start = time()
env = self.build_env()
+
+ # Ensure Rust uses hard floats and SIMD on ARM devices
+ if target:
+ if target.startswith('arm') or target.startswith('aarch64'):
+ env['RUSTFLAGS'] = env.get('RUSTFLAGS', "") + " -C target-feature=+neon"
+
if android:
- # Ensure Rust uses hard floats on Android
- env['RUSTFLAGS'] = env.get('RUSTFLAGS', "") + " -C target-feature=+neon"
# Build OpenSSL for android
make_cmd = ["make"]
if jobs is not None:
@@ -331,8 +337,8 @@ class MachCommands(CommandBase):
action='store_true',
help='Build in release mode')
def build_gonk(self, jobs=None, verbose=False, release=False):
- targets = ["arm-linux-androideabi"]
- self.ensure_bootstrapped(targets=targets)
+ target = "arm-linux-androideabi"
+ self.ensure_bootstrapped(target=target)
opts = []
if jobs is not None: