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