我有一個非常複雜的(C++)項目使用autoconf/automake,其中包括一些「生成」文件(foo.yy - > foo.cc)。實際構建是在各種平臺上使用「控制腳本」(熟悉這個概念的人員使用Gentoo .ebuild)完成的。將生成的文件添加到分發的最佳方法?
現在,其中一個目標平臺不能正確支持foo.yy - > foo.cc步驟,並且必須使用Linux機器上生成的foo.cc文件。
現在我有兩個途徑去了解這一點:
1)檢查foo.cc到項目庫中,不知何故修補configure.in(或其他),包括對foo.yy/foo的一個時間戳檢查.cc,如果用過時的foo.cc在有問題的目標上運行,則生成一個可理解的錯誤消息;
2)檢查foo.cc到控制腳本庫中,並讓腳本控制時間戳並給出錯誤消息。
我可以做2)沒問題,但我不認爲這是放foo.cc的正確位置。另一方面,我不太瞭解autoconf/automake,並且不知道如何在configure.in(或者無論)中實現時間戳檢查/錯誤消息。
你有什麼建議,並且這裏的任何人都知道如何解決方案1)?
編輯:解決方案使用解決方案3),調整有問題的目標框,直到它能夠執行foo.yy - > foo.cc步驟本身。 我的問題解決了。
但我會離開問題開放 - 如何使用autoconf/automake做時間戳檢查/可理解的錯誤消息?
如果您執行「make dist」,然後將* that *分配給目標並從分發構建包。但是在這種情況下,並不是這樣做的,二進制文件是直接從CVS中構建的... 查看編輯的問題 - 這對我個人來說已經不是問題了。 – DevSolar 2009-07-28 11:56:39