2012-08-16 24 views
6

Ho bisogno di creare una libreria configurata con gli autotools. I soliti passi configure && make && make install producono lib condivisa con versione, qualcosa come libfoo.so.x.x E 'possibile modificare configure.ac o Makefile.am (e ovviamente seguire con autoreconf) in modo che la versione non versione di lib sia compilata.Autotools GNU: ricostruzione senza informazioni sulla versione

Grazie!

risposta

10

Sì, presupponendo che la libreria sia stata creata con libtool, è possibile rimuovere le informazioni sulla versione aggiungendo il flag -avoid-version ai LDFLAG della libreria.

Ad esempio, se prima era libfoo_la_LDFLAGS = -version-info 1:0, lo si modifica in libfoo_la_LDFLAGS = -avoid-version. Dopodiché, rigenereresti e riesegui la configurazione (autoreconf -vfi &. & ./configure) e ricompila.

La semplice rimozione di -version-info ... non è sufficiente, poiché libtool genererà quindi una libreria con informazioni sulla versione 0.0.0.

Vedere il manuale di libtool per ulteriori informazioni: http://www.gnu.org/software/libtool/manual/html_node/Link-mode.html

Problemi correlati