Make `mach configure` determine full target triplet from partial information for mobile/android
Categories
(Firefox Build System :: Android Studio and Gradle Integration, enhancement)
Tracking
(firefox67 fixed)
| Tracking | Status | |
|---|---|---|
| firefox67 | --- | fixed |
People
(Reporter: nalexander, Assigned: glandium)
References
Details
Attachments
(1 file)
In tickets like Bug 1522354, glandium has been making "partial target triples" like "--target=aarch64" do The Right Thing for Windows on ARM64 devices. This ticket tracks making the following mappings:
--target={arm,armv7,armv7a} => --target=arm-linux-androideabi
--target={arm64,aarch64} => --target=aarch64-linux-android
--target={x86,i686} => --target=i686-linux-android
--target={x86_64} => --target=x86_64-linux-android
I imagine this will only be possible when --enable-application=mobile/android at first, unless we have some other indicator that we're targeting Android.
Note that I added some non-standard mappings (i.e., I don't think --target=arm64 is a natural way to ask for ARM64 on Android) -- if we can't support those, that's fine.
| Reporter | ||
Updated•7 years ago
|
| Reporter | ||
Comment 1•7 years ago
|
||
glandium: could you provide some hints about how to arrange this? And could you comment on the non-standard mappings: is that a bad idea?
| Assignee | ||
Comment 2•7 years ago
|
||
Also use armv7a as the default when no target is given at all.
Also change bootstrap to create a simpler mozconfig. The downside is
that the resulting mozconfig would not work when building older
revisions.
| Assignee | ||
Comment 3•7 years ago
|
||
I didn't address the non-standard mappings. I don't have a strong opinion about x86 vs i686, but arm64 is definitely not going to work well. One of the reasons aarch64 is called aarch64 is that a lot of things have been relying on tests like .startswith('arm'), and would catch arm64 when they're not supposed to. That's true out there in the wild, and it's true in our own configure.
Making armv7a the default kind of works around having the answer the question wrt {arm,armv7,armv7a} because there's no need to give a target at all.
| Assignee | ||
Updated•7 years ago
|
Comment 5•7 years ago
|
||
| bugherder | ||
Updated•7 years ago
|
Description
•