3

外部プログラム (lame、mp3 エンコーダーなど) の出力を必要とする Haskell プログラムを作成しようとしています。ライブラリへの依存関係を宣言することは cabal では簡単ですが、実行可能ファイルへの依存関係を宣言するにはどうすればよいでしょうか?

4

1 に答える 1

2

現在、既知のビルド ツールのリスト以外の外部実行可能ファイルの .cabal ファイルに依存関係を追加することはできません (たとえば、build-tools: alex を参照してください)。

ただし、build-type: Configure を指定してから、別の configure スクリプトを使用して追加のバイナリを検索することができます (たとえば、autoconf ベースの configure スクリプトはまったく問題なく、ソースに定数を設定するために使用できます)。

多くのパッケージ システムではビルド環境と実行環境が異なるため、コンパイル時にランタイム依存関係 (不十分なエンコーダーなど) を検索するのは適切ではないことに注意してください。プログラムの起動時に必要なバイナリを動的に検索することをお勧めします。

たとえば、hmp3 は次のように mpg321 を探します。

     mmpg <- findExecutable (MPG321 :: String)

ここで、MPG321 は、./configure オプションによって決定されるプログラムの名前です。詳細については、ハドックを参照してください。

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

于 2010-04-17T23:09:01.563 に答える