gh-146541: Allow building the Android testbed for 32-bit targets#146542
gh-146541: Allow building the Android testbed for 32-bit targets#146542robertkirkman wants to merge 3 commits intopython:mainfrom
Conversation
|
I'll wait until @mhsmith weighs in to confirm I haven't missed anything, but I think this all makes sense, and shouldn't impact the 64-bit builds. |
Misc/NEWS.d/next/Build/2026-03-28-02-48-51.gh-issue-146541.k-zlM6.rst
Outdated
Show resolved
Hide resolved
|
I think it would be OK to backport this to 3.13 and 3.14 to avoid future merge conflicts, as it only affects Android-specific build and test code and doesn't add any new features to Python itself. |
0208457 to
6c53216
Compare
This allows building the Android testbed for 32-bit targets using the prebuilt 32-bit dependencies that are already available here: https://github.com/beeware/cpython-android-source-deps/releases , adding the target triplets to match them, `arm-linux-androideabi` and `i686-linux-android`. This also adds the `arm` key to the dictionary used to convert the `machine` variable to an Android ABI in `sysconfig.get_platform()`, because when the Android testbed is being cross-compiled, it stores the contents of the first substring of `_PYTHON_HOST_PLATFORM` before the first `-` symbol in the `machine` variable, which the dictionary does not currently handle.
6c53216 to
6eecb18
Compare
6eecb18 to
b2d3a75
Compare
mhsmith
left a comment
There was a problem hiding this comment.
Thanks, this all looks good to me. In future, please don't force push a PR which has already been reviewed, as it makes the history difficult to understand.
|
!buildbot aarch64 android |
|
🤖 New build scheduled with the buildbot fleet by @mhsmith for commit c92b23e 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F146542%2Fmerge The command will test the builders whose names match following regular expression: The builders matched are:
|
|
@freakboy3742: Ready to merge. |
This allows building the Android testbed for 32-bit targets using the prebuilt 32-bit dependencies that are already available here: https://github.com/beeware/cpython-android-source-deps/releases , adding the target triplets to match them,
arm-linux-androideabiandi686-linux-android.This also adds the
armkey to the dictionary used to convert themachinevariable to an Android ABI insysconfig.get_platform(), because when the Android testbed is being cross-compiled, it stores the contents of the first substring of_PYTHON_HOST_PLATFORMbefore the first-symbol in themachinevariable, which the dictionary does not currently handle.