2013-08-24 14 views
5

我在configure.ac聲明的變量:Automake的:可變未展開在Solaris

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

的變量的值在相位的./configure正確地打印出來。

在Makefile.am還有的下面一行:

libmylib_la_LDFLAGS = -version-info @[email protected] 

在它正確地擴展爲 「-version-INFO 0 0:0」 鏈接器命令行上的Solaris之外的所有系統。在solaris上(SunOS 5.10 Generic_141414-10 sun4u sparc SUNW,Sun-Blade-100)我得到「-version-info」,沒有版本號。

任何想法可能出了什麼問題?

+1

其中的Autoconf的版本是在Solaris系統? – Maquefel

+0

如何構建Solaris版本?您是否在另一臺主機上構建了Solaris的tarball,它是否構建在Solaris本身上? – ldav1s

+1

我首先要確保你的配置腳本確實正確地設置了這個變量。一個簡單的方法就是在「configure」中的代碼的「set + x」和「set -x」中進行破解。然後我會檢查生成的config.status,看看在那裏設置是否正確。有時候,autoconf在sed或awk中的某個供應商錯誤之間絆倒...... –

回答

1

(在這裏瞎猜的一點,但是......)

我的猜測是,要麼我或獲取版本在Solaris無論出於何種原因定義。嘗試使用

AC_SUBST([MY_VERSION]) 

取而代之,這樣你就可以告訴M4明確定義它。

另外,作爲伊戈爾說,使用$(MY_VERSION)(雖然它是無關的這一點。)