Kompilacja

Kompilację biblioteki na systemach uniksowych lub uniksopodobnych (np. Windows + Cygwin) przeprowadza się według typowego schematu:

$ ./configure
$ make
# make install

Gdzie ostatnią komendę wykonuje się z prawami administratora. Aby zainstalować bibliotekę w katalogu użytkownika, można wykonać polecenia:

$ ./configure --prefix=/katalog/użytkownika/libgadu
$ make
$ make install

Następnie, aby użyć lokalnie zainstalowanej kopii biblioteki, zwykle należy dodać do zmiennej CFLAGS opcję -I/katalog/użytkownika/libgadu/include , a do LDFLAGS opcję -L/katalog/użytkownika/libgadu/lib.

Kompilacja skrośna

Przy kompilacji skrośnej konieczne jest użycie parametru --with-c99-vsnprintf lub --without-c99-vsnprintf w skrypcie configure, który mówi o tym, że funkcje rodziny sprintf() na docelowej platformie są zgodne lub niezgodne ze standardem C99. Jeśli żaden z powyższych parametrów nie zostanie użyty, skrypt configure spróbuje uruchomić program testowy, co przy kompilacji skrośnej się nie powiedzie.

Rozwiązywanie nazw

Biblioteka oferuje dwa sposoby rozwiązywania nazw serwerów w trybie asynchronicznym: za pomocą osobnego procesu lub za pomocą osobnego wątku. Druga możliwość jest zalecana dla programów, które korzystają z wątków systemowych, ponieważ użycie funkcji fork() do tworzenia procesu potomnego w aplikacji korzystającej z wątków może powodować problemy. W wersjach wcześniejszych niż 1.9.0 sposób rozwiązywania nazw był wybierany na etapie kompilacji, co powodowało problemy, gdy w systemie były zainstalowane aplikacje korzystające i niekorzystające z wątków systemowych. Od wersji 1.9.0, jeśli jest to możliwe, kompilowane są obie wersje, a wybór jest dokonywany przez aplikację. Dostępność opcji przedstawia poniższa tabela:

Opcja configure

pthread dostępne

pthread niedostępne

brak

GG_RESOLVER_FORK (domyślnie)
GG_RESOLVER_PTHREAD
GG_RESOLVER_CUSTOM

GG_RESOLVER_FORK (domyślnie)
GG_RESOLVER_CUSTOM

--with-pthread

GG_RESOLVER_FORK
GG_RESOLVER_PTHREAD (domyślnie)
GG_RESOLVER_CUSTOM

błąd

--without-pthread

GG_RESOLVER_FORK (domyślnie)
GG_RESOLVER_CUSTOM

GG_RESOLVER_FORK (domyślnie)
GG_RESOLVER_CUSTOM

 All Struktury Danych Pliki Funkcje Zmienne Definicje typów Wyliczenia Wartości wyliczeń Definicje

Wygenerowano Sat Dec 5 21:53:34 2009 dla libgadu programem  doxygen 1.6.1