next up previous contents index
Next: 1.7 Calling Python Functions Up: Extending Python with C Previous: 1.5 The Module's Method

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@cnri.reston.va.us