1.5 Kompilacja i łączenie

Jeszcze dwa kroki dzielą nas od możliwości wykorzystania stworzonego rozszerzenia: kompilacja i łączenie z systemem Pythona. Jeśli wykorzystywane jest dynamiczne łączenie bibliotek, szczegóły mogą być uzależnione od stylu dynamicznego łączenia wykorzystywanego w konkretnym systemie operacyjnym. Szczegóły dotyczące procedury kompilacji modułów rozszerzeń Pythona można znaleźć w rozdziale 3, natomiast omówienie zagadnień specyficznych dla Windows znajduje się w rozdziale 4.

Jeśli nie istnieje możliwość wykorzystania łączenia dynamicznego, lub jeśli wolą programisty jest całkowite scalenie nowego modułu z interpreterem Pythona, należy zmienić ustawienia konfiguracyjne i od nowa zbudować interpreter. Na szczęście w systemach Unixjest to bardzo proste: wystarczy umieścić swój plik (na przykład spammodule.c) w katalogu Modules/ w dystrybucji źródeł Pythona i w pliku Modules/Setup.local dodać wiersz opisujący nowy plik:

spam spammodule.o

Następnie budujemy interpreter wywołując polecenie make z najwyższego poziomu katalogów ze źródłami Pythona. Można również uruchomić make w katalogu Modules/, ale najpierw należy przebudować plik Makefile w tym katalogu wywołując "make Makefile" (jest to konieczne za każdym razem gdy dokonujemy zmian w pliku Setup).

Jeśli moduł wymaga łączenia z dodatkowymi bibliotekami, mogą być wymienione w tym samym wierszu w pliku konfiguracyjnym, na przykład:

spam spammodule.o -lX11

Zajrzyj do Informacji na temat tej publikacji... aby pomóc w jej rozwoju.