-
-
Notifications
You must be signed in to change notification settings - Fork 31.7k
do not define sys.implementation._multiarch on Android #73035
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Android is not a multiarch system and the unix build system can cross compile non-multiarch systems as well as multiarch systems. This is a follow up of the decisions implemented in bpo-28046 and the patch fixes also an oversight made in this issue in Makefile.pre.in. Also tested with the patch in bpo-28833 that implements cross compilation of third-party extension modules. |
Actually all UNIX-like platforms now have non-empty sys.implementation._multiarch now (msg273875). An idea is renaming it to something like target_architecture to make things clearer. It will be a triplet on all system, whether cross-built or not. |
Yes, that was my intent, and I think it is the right solution. using There's no reason why this target_architecture could be used by any unix like platform. |
The change made by the patch in Makefile.pre.in handles the removing of the dangling underscore in the patch of bpo-28833, it is not needed. |
The MULTIARCH triplet:
On Android the MULTIARCH triplet adds the burden of having to maintain the list of Android processors and abis in configure.ac through a set of complex conditionals (see below [1]) whose correctness is uncertain and not verified. This is useless and removed since it is not needed anymore. [1] The Android set of conditionals in configure.ac: #if defined(__ANDROID__)
# if defined(__x86_64__) && defined(__LP64__)
x86_64-linux-android
# elif defined(__i386__)
i686-linux-android
# elif defined(__aarch64__) && defined(__AARCH64EL__)
# if defined(__ILP32__)
aarch64_ilp32-linux-android
# else
aarch64-linux-android
# endif
# elif defined(__ARM_EABI__) && defined(__ARMEL__)
arm-linux-androideabi
# elif defined(__mips_hard_float) && defined(_MIPSEL)
# if _MIPS_SIM == _ABIO32
mipsel-linux-android
# elif _MIPS_SIM == _ABI64
mips64el-linux-android
# else
# error unknown platform triplet
# endif
# else
# error unknown platform triplet
# endif |
New changeset b3ba41bf92c7 by Xavier de Gaye in branch '3.6': New changeset 40e8b39199da by Xavier de Gaye in branch 'default': |
New changeset ab3d870aa3bc by Xavier de Gaye in branch '3.6': New changeset 0ff181ca7558 by Xavier de Gaye in branch 'default': |
Misc/NEWS
so that it is managed by towncrier #552Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: