1.6 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



guido@python.org