Cross-compiling is not a use case directly supported by the Python build and extension system. This talk will discuss the process of building python for your embedded platform, and the basics of getting C extensions compiled and running. It will focus on Linux so that the build host and the build target are the same.
Outline of talk
Ground Rules:
This talk is on cross-compiling. Porting Python to your favourite OS is a whole other (much longer) talk
Examples Focus on embedded Linux so that build host and target are the same OS. Different host and target OS is way harder
What makes cross-compiling Python challenging?
Why can't I just use OpenEmbedded?
may not support most recent Python versions
may not have a build recipe for a required extension
won't support your custom extensions
you must use another platform
Building Python (a short overview)
build, patch, cross-build
build standard lib extensions
Building Extensions
satisfying C dependencies
modifying setup.py
building for your platform
packaging for distribution
Other Things to Look Out for:
package dependencies
virtualenv & easy_install / pip
Challenges you may encounter with platforms other than Linux
Demo:
Python 3.3 on hardware TBD
Invitation to discuss ways to make Python more accessible to embedded developers