Hi Python Developers,


I'm Paul Monson, I've spent about 20 years working with embedded software.  
Since 2010 I've worked for Microsoft as a developer.



Our team is working with CPython on Azure IoT Edge devices that run on 
x64-based devices.



We would like to extend that support to Windows running on ARM 32-bit devices 
and have a working proof-of-concept.  Our team is prepared to provide support 
for CPython for Windows on ARM32 for 10 years, and to provide build bots for 
ARM32.



I like to propose that the initial sequence of PRs could be:
- Update to OpenSSL 1.1.1 (without anything ARM specific) - ready to go
- Migrate to libffi directly (finish 
https://github.com/python/cpython/pull/3806<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F3806&data=02%7C01%7CPaul.Monson%40microsoft.com%7C0e38d9367d2d4240725d08d680dedde6%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636838092030320471&sdata=7Mgsyy9SifmIRroagp1NZ0cx77vhRC%2BzxpUoHSQblB4%3D&reserved=0>)
- Build file updates for OpenSSL ARM and check into cpython-bin-deps
- Build file updates for CPython ARM
- ctypes updates for ARM
- Test module skips for ARM
- Library updates and related test fixes for ARM



Updating OpenSSL and libffi are independent of ARM support but need to be done 
as prerequisites.  OpenSSL 1.1.0 doesn't have support for ARM32 on Windows but 
OpenSSL 1.1.1 does.



I have OpenSSL 1.1.1a ready to check in to master with all tests passing on x86 
and x64 on Windows.  Since work has already been done on this for other 
platforms only very small changes were needed for Windows.



I have also integrated and tested the current libffi on Windows x64.  Some 
additonal porting of x86 assembler to MSVC tools will need to be done.  I have 
a working port of ARM32 assembler for MSVC but it may need to be brought up to 
date and cleaned up.



The last four all need to go in together, but can be reviewed separately.



We are not planning to support Tk/Tcl on ARM32 because Windows IoT Core, 
Windows containers don't support GDI, which is a depenency of Tk/Tcl.



Since Window IoT Core and Windows container don't support the .msi or .exe 
installers found on python.org my team at Microsoft will build the CPython for 
Windows ARM32 from the official repo and distribute it.



Thanks in advance,

Paul

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to