2016-04-20 13 views
2

Beim Kompilieren der meisten OpenSource-Bibliotheken generiert der make-Befehl .la Datei, die library_names und current=11 age=9 revision=0 Versionsinformationen haben wird.Wie wird die Versionsnummer in library_names generiert?

Ich verstehe, dass die Versionsinformationen current=11 age=9 revision=0 von der Flagge version-info in Makefile.am erzeugt wird. Wenn Sie nur die Versionsinformationen kennen, wie generiert make Bibliotheksnamen?

Beispiel: Für libcrack.so

dlname='libcrack.so.2' 
# Names of this library. 
library_names='libcrack.so.2.9.0 libcrack.so.2 libcrack.so' 

# Version information for libcrack. 
current=11 
age=9 
revision=0 

Version info in Makefile.am angegeben als

folgt
libcrack_la_LDFLAGS = -version-info 11:0:9 

Nun ist die Frage: Wie macht erzeugen libcrack.so.2.9.0 mit der Nummer 2.9.0 von nur version-info nehmen ?

Antwort

0

Normalerweise libtool Bibliothek Version System verwendet das folgende Format

soname.so.<current-age>.<age>.<revision>

Deshalb ist in Beispiel in der Frage zitiert, libcrack.so.(11-9).9.0 = libcrack.2.9.0.

Weitere detaillierte Informationen finden Sie unter library versioning