13. Porting Python to a new platform¶
The first step is to familiarize yourself with the development toolchain on the platform in question, notably the C compiler. Make sure you can compile and run a hello-world program using the target compiler.
Next, learn how to compile and run the Python interpreter on a platform to
which it has already been ported; preferably Unix, but Windows will
do, too. The build process for Python, in particular the
Makefile in the
source distribution, will give you a hint on which files to compile
for Python. Not all source files are relevant: some are platform
specific, others are only used in emergencies (e.g.
It is not recommended to start porting Python without at least medium-level understanding of your target platform; i.e. how it is generally used, how to write platform specific apps, etc. Also, some Python knowledge is required, or you will be unable to verify that your port is working correctly.
You will need a
pyconfig.h file tailored for your platform. You can
pyconfig.h.in, read the comments, and turn on definitions that
apply to your platform. Also, you will need a
config.c file, which lists
the built-in modules you support. Again, starting with
Modules/config.c.in is recommended.
Finally, you will run into some things that are not supported on your
target platform. Forget about the
posix module in the beginning. You can
simply comment it out of the
Keep working on it until you get a
>>> prompt. You may have to disable the
site.py by passing the
-S option. When you have a prompt,
bang on it until it executes very simple Python statements.
At some point you will want to use the
os module; this is the time to start
thinking about what to do with the
posix module. It is okay to simply
comment out functions in the
posix module that cause problems; the
remaining ones will be quite useful.
Before you are done, it is highly recommended to run the Python regression test suite, as described in Running & Writing Tests.