2012-08-16 5 views
6

Ich muss eine Lib erstellen, die mit Autotools konfiguriert ist. Die üblichen configure && make && make install Schritte erzeugen versionierte shared lib, so etwas wie libfoo.so.x.x Ist es möglich, configure.ac oder Makefile.am zu modifizieren (und natürlich mit autoreconf), so dass un-versionierte lib erstellt wird.GNU Autotools: Rebuild ohne Versionsinfo

Vielen Dank!

Antwort

10

Ja, vorausgesetzt, dass die Bibliothek mit libtool erstellt wurde, können Sie die Versionsinformationen entfernen, indem Sie das Flag -avoid-version zu den LDFLAGS der Bibliothek hinzufügen.

Zum Beispiel, wenn vorher libfoo_la_LDFLAGS = -version-info 1:0libfoo_la_LDFLAGS = -avoid-version war, würden Sie es ändern. Danach würden Sie die Konfiguration neu generieren und erneut ausführen (autoreconf -vfi & & ./configure) und neu erstellen.

Das einfache Entfernen von -version-info ... ist nicht ausreichend, da libtool dann eine Bibliothek mit Versionsinfo 0.0.0 generiert.

Weitere Informationen finden Sie im Libtool-Handbuch: http://www.gnu.org/software/libtool/manual/html_node/Link-mode.html

Verwandte Themen