1.5 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 ``Dynamic Loading'' for more information 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.local" 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 rebuild "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 configuration file as well, for instance:

spam spammodule.o -lX11

guido@python.org