This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: More clearly expose/explain native and cross-build target information
Type: enhancement Stage:
Components: Versions: Python 3.5
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: Arfrever, a.badger, barry, bkabrda, doko, ncoghlan, rkuska, steve.dower
Priority: normal Keywords:

Created on 2015-04-15 16:36 by ncoghlan, last changed 2022-04-11 14:58 by admin.

Messages (3)
msg241129 - (view) Author: Nick Coghlan (ncoghlan) * (Python committer) Date: 2015-04-15 16:36
Discussion of issue 22980 made it clear to me that part of the problem with the cross-build support is that the difference between the build time information exposed in sysconfig and the live system information exposed in the platform module isn't clear.

Debian's multiarch triplets ( describe this information well, but it currently isn't readily exposed to Python code. sysconfig.get_config_var("MULTIARCH") only works on Debian & derivatives, and even issue 22980 only exposes the information in sysconfig.get_config_var("SOABI") on a subset of platforms.

It would be good to extend the triples to cover Windows, and also to expose the *current* system triple at runtime in the platform module (including appropriate normalisation)
msg241229 - (view) Author: Nick Coghlan (ncoghlan) * (Python committer) Date: 2015-04-16 16:00
Capturing some additional notes regarding the purpose of multiarch platform triplets. These triplets should unambiguously capture:

* syscall ABI (~= kernel)
* instruction set (IA-32, IA-64, PowerPC, ARM, ARM64, etc)
* endian­ness (big- or little-
* word size (32- or 64-)

The initial set of triplets from Debian covers GNU/Linux, GNU/Hurd and GNU/FreeBSD. Issue 23969 covers accurately capturing Mac OS X details, while issue 23670 covers iOS. (Issue 23496 should also likely take the issue 22980 changes into account for the Android cross-build)

I've added Steve Dower to the nosy list as it would also be good to have a set of triplets defined for Windows. MAL suggested in issue 22980 that it may be worth capturing this ABI compatibility identification discussion as a PEP rather than solely as a set of issues with resulting changes to the documentation, which I think is a reasonable direction to go (even if it's done primarily as an after-the-fact communication of the build identification changes for inclusion in What's New, rather than a gating requirement for actually doing the work).
msg241711 - (view) Author: Toshio Kuratomi (a.badger) * Date: 2015-04-21 13:06
Note for doko/barry: The multiarch/Tuples page should have a section on how the MultiArch Tuples interact with hwcaps (or a link to such a section in a different document).  The rationale for not using Gnu-Triplets in MulitArch/Tuples currently says that we do not want separate entries for (as an example) i386 vs i686 instructions but does not tell why.  says that the i386 vs i686 use case is probably better addressed by glibc's hwcaps but points back to MultiArch/Tuples for rationale.

A section of rationale and example to show how the multiarch tuple and hwcaps complement each other would fix that.
Date User Action Args
2022-04-11 14:58:15adminsetgithub: 68154
2015-04-21 13:06:03a.badgersetnosy: + a.badger
messages: + msg241711
2015-04-17 21:26:13Arfreversetnosy: + Arfrever
2015-04-16 16:00:47ncoghlansetnosy: + steve.dower
messages: + msg241229
2015-04-15 16:36:51ncoghlancreate