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-config
Haskellプラットフォームに含まれています(私は今チェックするWindowsマシンを持っていません)?