automake ed autoconf

Francesco Casadei casadeif a yahoo.it
Lun 25 Ott 2004 18:53:58 CEST


Francesco Casadei wrote:
> Stefano wrote:
> 
>> Ho una domanda da porvi che potra' sermbrarvi banale:
>> vorrei creare dei file di Make utilizzando uno script di bootstrap che
>> si appoggia su automake ed autoconf, ora lo script di bootstrap sotto
>> Linux funziona benissimo in quanto trova gli eseguibili automake ed
>> autoconf mentre con FreeBSD non ne vuole sapere. Ho visto che nella dir
>> /usr/local/bin ci sono i vari auto* seguiti dal numero di versione ma
>> non c'e' il wrapper automake ed autoconf
>>
>> ciao
>>
>> S.
>>
>>
>>
> 
> Ho affrontato qualcosa di simile quando ho dovuto fare per un esame un 
> progetto in C che doveva girare su FreeBSD e Linux.
> 
> In allegato trovi lo script che ho usato io.
> 
> In pratica è molto rudimentale: esegue un ciclo sui possibili suffissi 
> con cui può terminare ciascun eseguibile di Automake, Autoconf e 
> Libtool. I suffissi li puoi configurare nelle variabili AC_VERSIONS, 
> AM_VERSIONS e LT_VERSIONS.
> 
> Nel progetto originale ho usato Autconf 2.57, Automake 1.7 e libtool 1.5 
> perciò ho impostato:
> 
> AC_VERSIONS='257 -2.57 -257'
> AM_VERSIONS='17 -1.7 -17'
> LT_VERSIONS='15 -1.5 -15'
> 
> In questo caso lo script cerca nell'ordine:
> 
> autoconf257, autoconf-2.57, autoconf-257, autoconf
> automake17, automake-1.7, automake-17, automake
> libtool15, libtool-1.5, libtool-15, libtool.
> 
> Ora non ricordo quale convenzione usa FreeBSD e quale Linux, ma sapendo 
> come invocare gli autotools su ogni piattaforma che vuoi supportare, 
> basta che inserisci i suffissi che ti servono. Ad esempio se vuoi 
> supportare più versioni, diciamo Autoconf 2.53 e seguenti e Automake 1.5 
> e seguenti:
> 
> # This project requires at least Autoconf 2.53, Automake 1.5
> AC_VERSIONS='259 -2.59 -259 258 -2.58 -258 257 -2.57 -257'
> AC_VERSIONS="${AC_VERSIONS} 256 -2.56 -256 255 -2.55 -255"
> AC_VERSIONS="${AC_VERSIONS} 254 -2.54 -254 253 -2.53 -253"
> AM_VERSIONS='18 -1.8 -18 17 -1.7 -17 16 -1.6 -16 15 -1.5 -15'
> 
> Spero di esserti stato d'aiuto.
> 
>     Francesco Casadei
> 

Argh... ovviamente nell'ultimo caso (versioni multiple) devi anche 
aggiornare l'espressione regolare di ciascun grep:

eval autoconf${suffix} --version 2>/dev/null | grep '2\.5[3-9]' >/dev/null

e

eval automake${suffix} --version 2>/dev/null | grep '1\.[5-8]' >/dev/null

	Francesco Casadei



Maggiori informazioni sulla lista esperti