HackageでFFIバインディングを使用してライブラリを維持しています。したがって、私のHaskellライブラリは、対応するCライブラリとそのヘッダーファイルに依存しています。.cabalここで、次のようにファイルで外部依存関係を指定します。
PkgConfig-Depends:
libfoo >= 1.2
そしてそれはLinuxで私にとってうまく機能します。pkg-configしかし、私には、 Windowsへのインストールはかなり面倒であり、代わりに彼が好むと報告しているライブラリのユーザーがいます。
Includes:
foo.h
Extra-libraries:
foo
ライブラリをできるだけ簡単にビルドできるようにしたいのですが、厳密に必要とされていない依存関係を強制的にビルドしたくありません。ただし、Cabalのマニュアルではを使用するように提案されているようPkgConfig-Dependsです。
私の質問:
- クロスプラットフォームパッケージにはどちらの方法を選ぶべきですか?
.cabalある場合とない場合で機能するような方法でファイルを書き込むことは可能pkg-configですか?- そして、ちなみに、
pkg-configHaskellプラットフォームに含まれています(私は今チェックするWindowsマシンを持っていません)?