Compilation and Linkage

There are two more things to do before you can use your new extension: compiling and linking it with the Python system. If you use dynamic loading, the details depend on the style of dynamic loading your system uses; see the chapter on Dynamic Loading for more info about this.

If you can't use dynamic loading, or if you want to make your module a permanent part of the Python interpreter, you will have to change the configuration setup and rebuild the interpreter. Luckily, this is very simple: just place your file (spammodule.c for example) in the Modules directory, add a line to the file Modules/Setup describing your file:

    spam spammodule.o

and rebuild the interpreter by running make in the toplevel directory. You can also run make in the Modules subdirectory, but then you must first rebuilt the Makefile there by running make Makefile. (This is necessary each time you change the Setup file.)

If your module requires additional libraries to link with, these can be listed on the line in the Setup file as well, for instance:

    spam spammodule.o -lX11