diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure index 87120573a0cc..bfb878aebb78 100644 --- a/build/moz.configure/init.configure +++ b/build/moz.configure/init.configure @@ -739,11 +739,10 @@ def real_target(value, host, shell, project, application): project = project[0] if not value: if project == "mobile/android": - target_cpu, target_system = ( - ("aarch64", "android") - if host.cpu == "aarch64" - else ("arm", "androideabi") - ) + target_cpu, target_system = { + "aarch64": ("aarch64", "android"), + "x86_64": ("x86_64", "android"), + }.get(host.cpu, ("arm", "androideabi")) return split_triplet(f"{target_cpu}-unknown-linux-{target_system}") if project == "mobile/ios": return split_triplet("aarch64-apple-ios") diff --git a/python/mozbuild/mozbuild/test/configure/test_moz_configure.py b/python/mozbuild/mozbuild/test/configure/test_moz_configure.py index 7bb1b927e077..c10adb3b476d 100644 --- a/python/mozbuild/mozbuild/test/configure/test_moz_configure.py +++ b/python/mozbuild/mozbuild/test/configure/test_moz_configure.py @@ -28,6 +28,8 @@ class TargetTest(BaseConfigureTest): platform = "win32" elif "openbsd6" in self.HOST: platform = "openbsd6" + elif "apple-darwin" in self.HOST: + platform = "darwin" else: raise Exception("Missing platform for HOST {}".format(self.HOST)) sandbox = self.get_sandbox({}, {}, args, env, cls=sandbox_class(platform)) @@ -111,7 +113,7 @@ class TestTargetAndroid(TargetTest): def test_target(self): self.assertEqual( self.get_target(["--enable-project=mobile/android"]), - "arm-unknown-linux-androideabi", + "x86_64-unknown-linux-android", ) self.assertEqual( self.get_target(["--enable-project=mobile/android", "--target=i686"]), @@ -131,6 +133,16 @@ class TestTargetAndroid(TargetTest): ) +class TestTargetAndroidAppleSiliconHost(TargetTest): + HOST = "aarch64-apple-darwin" + + def test_target(self): + self.assertEqual( + self.get_target(["--enable-project=mobile/android"]), + "aarch64-unknown-linux-android", + ) + + class TestTargetOpenBSD(TargetTest): # config.guess returns amd64 on OpenBSD, which we need to pass through to # config.sub so that it canonicalizes to x86_64.