我該如何爲autoconf項目分配動態的,基於git的版本號? 的Autoconf需要一個靜態的字符串參數如何在autoconf管理的項目中插入基於Git的版本?
AC_INIT([Title],[version],[name])
AC_INIT文檔中說,人們可以使用M4提供一個基於 外殼版本。 M4超出了我的肯定。我想我的版本的軟件 根據該命令
version=`git describe --abbrev=7 --dirty --always --tags`
的結果,這將產生類似4.6.6-alpha07-9-ga3e01a8
。
我可能不明白高級別的答案。我需要一個解決方案,如「剪切 並將其粘貼到您的autoconf.ac和/或acinclude.m4中」。
任何幫助表示讚賞。
謝謝。它部分工作,然後導致配置失敗。很難弄清楚爲什麼。還在調查...... –
@CharlieZender:在'm4_esyscmd'周圍移除'''',並通過'tr'運行其結果以去掉尾隨的換行符:AC_INIT([Title],m4_esyscmd([git describe - abbrev = 7 --dirty --always --tags | tr -d'\ n']))'。 –
這個工程!配置使用我想要的版本字符串完成。驚訝的更多項目不使用基於Git的版本標籤。不知道我應該把這個答案標記爲正確的,除非/直到ldav1s的答案被編輯... –