2013-08-24 20 views
5

Ho una variabile dichiarata in configure.ac:Automake: variabile non espansa su Solaris

MY_VERSION="0:0:0" 
AC_SUBST(MY_VERSION) 
AC_MSG_NOTICE([$MY_VERSION]) 

Il valore della variabile viene stampato correttamente durante fase ./configure.

In Makefile.am c'è seguente riga:

libmylib_la_LDFLAGS = -version-info @[email protected] 

Nella riga di comando del linker si espande correttamente "-version-info 0: 0: 0" su tutti i sistemi, tranne Solaris. Su solaris (SunOS 5.10 Generic_141414-10 sun4u sparc SUNW, Sun-Blade-100) Ottengo "-version-info" senza numero di versione.

Qualche idea di cosa può essere andato storto?

+1

quale versione di Autoconf è nel vostro sistema Solaris? – Maquefel

+0

Come viene costruita la versione di Solaris? Stai costruendo il tarball per Solaris su un altro host, è stato costruito su Solaris stesso? – ldav1s

+1

Prima assicurarmi che lo script di configurazione stia davvero impostando correttamente questa variabile. Un modo semplice per farlo consiste nel modificare "set + x" e "set -x" attorno al codice in "configure". Quindi esaminerei il config.status generato per vedere se l'impostazione è corretta lì. A volte autoconf inciampa su un bug del fornitore in sed o awk o qualcosa del genere ... –

risposta

1

(Un po 'di un salto nel buio qui, ma ...)

La mia ipotesi è che o MY o versione GET definita su Solaris per qualsiasi motivo. Prova usign

AC_SUBST([MY_VERSION]) 

invece, in questo modo stai dicendo a M4 di definirlo esplicitamente.

anche come ha detto Igor, utilizzare $(MY_VERSION) (anche se è estraneo a questo.)