[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Autoconf e scrittura configure.in



Scrive Roberto Bernardinello <xxxberna1980xxx@katamail.com>:

> Salve a tutti! Sto studiando il funzionamento di autoconf e la 
> creazione 
> di file configure.in (o .ac) per la creazione di script configure. Sto 
> guardando alcuni esempi e file gia' fatti e ci sono alcuni aspetti che 
> non comprendo.
> In particolare ho visto che ogni tanto trovo all'interno di un 
> configure.in dei pezzi di codice scritti in questo modo (in questo caso 
> il codice è tratto dal pacchetto lopster 1.0):
> 
> dnl Set PACKAGE_DATA_DIR in config.h.
> if test "x${datadir}" = 'x${prefix}/share'; then
>   if test "x${prefix}" = "xNONE"; then
>     AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR,                                
>   
>                  ${ac_default_prefix}/share/${PACKAGE}", 
>                  [Location of Lopster's data files])
> ....
> 
> Non capisco perche' nei test dell'if viene messa una 'x' davanti a 
> tutte 
> le variabili e a tutte le stringhe! E' una caratteristica del comando 
> 'test' o centra con la creazione del file configure?

No, e' un metodo per ovviare ad un problema della shell.

Il comando

if test ...

infatti prevede di invocare il comando test, con i parametri che seguono. se la
variabile datadir pero' e' vuota (pari alla stringa vuota) l'invocazione, senza
le x, diventerebbe:

test = <valore>

invece che:

test <valore1> = <valore2>

e quindi darebbe un errore (tipicamente: l'operando = richiede due parametri o
qualcosa del genere).

> Inoltre non ho trovato indicazioni su quali variabili di shell sono 
> disponibili in configure.in! Da quello che ho capito tutte le variabili 
> di output (per esempio $datadir o $bindir) ci sono ma non so quali 
> altre! 
> Chiedo perche' nell'esempio viene usata la variabile $ac_default_prefix 
> che non viene creata precedentemente.
> 
> Grazie a chiunque mi aiutera' o mi dara' qualche link dove posso 
> trovare 
> informazioni al riguardo (finora ho studiato la pagina info di 
> autoconf2.13).
>

Guarda le info di autoconf, dovrebbero avere nozioni sufficienti.

-- 
Marco Bizzarri - CTO - Icube S.r.l.
Address:       Via Ridolfi 15 - 56124 Pisa (PI), Italy
E-mail:        m.bizzarri@icube.it       Web:        http://www.icube.it
Phone:         (+39) 050 97 02 07        Fax:         (+39) 050 31 36 588

-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/



Reply to: