Cabalのスタイルを使用してconfigure
、sdl-config コマンドの出力を変数に置き換える小さな構成スクリプトを作成できます。値は $foo.buildinfo.in ファイルで置き換えられ、Cabal がビルド プロセスに含める $foo.buildinfo ファイルが生成されます。
一般的な解決策: configure スクリプト
#!/bin/sh
SDLFLAGS=`sdl-config --cflags`
echo Found "$SDLFLAGS"
sed 's,@SDLFLAGS@,'"$SDLFLAGS"',' z.buildinfo.in > z.buildinfo
$foo.builinfo.in ファイル
cc-options: @SDLFLAGS@
.cabal ファイル
Build-type: Configure
「cabal configure」を実行すると、z.buildinfo の「cc-options」フィールドが作成され、保持されます。
cc-options: -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT
どのカバールがビルドに含まれるか。
終わり。
pkg-config ツールの特定のソリューション
orなどのpkg-configスタイルの構成をサポートするツールについては、Cabal はすでに特定のサポートを提供しています。sdl
cairo
pkgconfig-depends: パッケージ一覧
このパッケージをビルドするために必要な pkg-config パッケージのリスト。gtk+-2.0 >= 2.10、cairo >= 1.0 などのバージョンで注釈を付けることができます。バージョンの制約が指定されていない場合、どのバージョンも受け入れられると見なされます。Cabal は pkg-config を使用して、パッケージがシステムで利用可能かどうかを調べ、パッケージを使用するために必要な追加のコンパイルおよびリンカー オプションを見つけます。
pkg-config をサポートする C ライブラリにバインドする必要がある場合 (pkg-config --list-all を使用して、サポートされているかどうかを調べます)、他のフィールドにオプションをハードコードするよりも、このフィールドを使用することをお勧めします。 .
したがって、sdl
必要なのは次のとおりです。
pkgconfig-depends: sdl