2010-04-17 52 views

回答

2

您目前不能在.cabal文件中爲外部可執行文件添加依賴項,而不是已知構建工具的列表(請參閱build-tools:alex例如)。

但是,您可以指定構建類型:配置,然後使用單獨的配置腳本搜索任何其他二進制文件(例如,基於autoconf的配置腳本完全正常,可用於在您的資源)。

請注意,在編譯時搜索運行時依賴關係(如跛腳編碼器)可能是一個壞主意,因爲許多程序包系統上的構建和運行環境都不相同。在程序啓動時動態搜索所需的二進制文件可能是一個更好的主意。

例如,hmp3會尋找mpg321與

 mmpg <- findExecutable (MPG321 :: String) 

其中MPG321是經由的./configure選項中確定的程序的名稱。欲瞭解更多信息,請參見黑線鱈:

http://hackage.haskell.org/packages/archive/directory/latest/doc/html/System-Directory.html#v:findExecutable

+0

確實驚天動地提供像什麼「後安裝鉤子」,將允許,例如,嘗試在那個驚天動地包的時間安裝一個MP3編碼器安裝,而不是內置? – 2010-04-18 05:58:59

+0

您可以在Setup.hs中添加鉤子來編寫像這樣的任何階段的腳本,但理想情況下安裝外部程序將留給包系統(.deb或.rpm等),該系統知道如何查找和構建非Haskell依賴關係。 – 2010-04-18 19:36:32