SPECS: pdns.spec - updated to 2.9.16 - patch0 and 1 already in sou...
Jacek Konieczny
jajcus w bnet.pl
Czw, 11 Mar 2004, 13:46:46 CET
On Thu, Mar 11, 2004 at 12:43:06PM +0100, Marcin Kurzyna wrote:
> Dnia czwartek 11 marzec 2004 12:31, Jakub Bogusz napisał:
> > Szybko i brzydko, to zastępując test -f .../coś.a przez
> > test -f .../coś.so (jajcus już się cieszy ;>).
>
> o tym właśnie pomyślałem :)
>
> > A porządniej zamienić na test z użyciem AC_CHECK_LIB i próbami
> > podstawiania -L... do LDFLAGS.
>
> możesz rozwinąć?
test -f .../coś.so nie sprawdza dostępności używalnej biblioteki,
a tylko dostępność pliku. Pierwszy problem sam widziałeś - robi takiemu
testowi różnicę czy to biblioteka statyczna, czy dynamiczna, mimo że to
samemu linkerowi różnicy to nie robi.
Drugi problem polega na tym, że to "..." może być różne w różnych
systemach (na AMD64 będzie tam zapewne "lib64" zamiast "lib"). No
najlepsze jest to, że "..." wcale nie musi być znane - linker sam
znajdzie pliki jeśli będą w odpowiednim miejscu.
Poprawnym testem na obecność biblioteki jest po prostu próba zlinkowania
czegoś z nią i to właśnie robi AC_CHECK_LIB. Niestety wielu developerów
woli swoje sztuczki z test -f .../coś.{so,a} co, jak jest stosowane
masowo (np. w źródłach PHP) to trudno jest na coś sensownego poprawić.
Pozdrowienia,
Jacek
Więcej informacji o liście dyskusyjnej pld-devel-pl