On Saturday 01 January 2005 20:15, Josef Spillner wrote:
Am Samstag, 1. Januar 2005 19:45 schrieb Konrad Rosenbaum:
Gleich mal eine Autoconf/Libtool Frage: wie sage ich Automake und Libtool, welche Version die Bibliothek hat, die ich gerade compiliere?
foo_la_LDFLAGS = ... -version-info 0:1:0
libtool 1.5a: gcc: unrecognized option `-version-info=0:1:0'
libtool 1.5.6 gibt die Option wenigstens nicht an gcc weiter, aber soname wird immernoch auf die falsche Option gesetzt (ich habe version-info=1:0:0 mal ausprobiert soname ist trotzdem libxyz.so.0). Die Symlinks sind weiterhin 0.0.0.
So sieht die Configuration aus: Libtool: 1.5.6 Automake: 1.7.9, identisches Verhalten plus ein paar aclocal-Warnungen bei 1.9.4 Autoconf: 2.59
Makefile.am (Auszug): lib_LTLIBRARIES = libterces.la libterces_la_SOURCES = terces.c hash/md5.c hash/sha1.c hash.c ... libterces_la_CFLAGS = -I$(TCL_INC_DIR) libterces_la_LDFLAGS = $(TCL_LIB_SPEC) -version-info=1:0:0
(ich habe zum Testen mal 1:0:0 gewählt, damit auch soname zeigt, ob es klappt)
Zu beachten:
- das sind Doppelpunkte, die im Dateinamen zu Punkten werden
- die Libtool-Versionierung ist schwierig und hat überhaupt nichts mit
Paketversionen zu tun
Ok, verstanden. Aber glaube mir, im Vergleich zu den Büchern über das Thema was ich da programmiere ist das ein sehr übersichtliches Schema (es ist eine Kryptolib).
Konrad