2012-08-16 12 views
6

Potrzebuję zbudować bibliotekę, która jest skonfigurowana z autotoolami. Zwykłe kroki configure && make && make install tworzą wersjonowaną wspólną bibliotekę, podobnie jak libfoo.so.x.x Czy jest możliwa modyfikacja pliku configure.ac lub Makefile.am (i oczywiście kontynuacja z autoreconfem), aby skompilować bibliotekę bez wersji.Autouzyby GNU: przebuduj bez informacji o wersji

Dziękujemy!

Odpowiedz

10

Tak, przy założeniu, że biblioteka jest zbudowana z libtool, można usunąć informacje o wersji, dodając flagę -avoid-version do biblioteki LDFLAGS biblioteki.

Na przykład, jeśli wcześniej było libfoo_la_LDFLAGS = -version-info 1:0, należy zmienić go na libfoo_la_LDFLAGS = -avoid-version. Następnie zregeneruj i ponownie uruchom configure (autoreconf -vfi & & ./configure) i przebuduj.

Po prostu usunięcie -version-info ... nie jest wystarczające, ponieważ libtool wygeneruje następnie bibliotekę z informacją o wersji 0.0.0.

Zobacz instrukcję libtool, aby uzyskać więcej informacji: http://www.gnu.org/software/libtool/manual/html_node/Link-mode.html