3

ウィキのエントリによると、

プロジェクトのビルドに必要なファイルをパッケージ化します

.cabal基本的に含まれている単純な実行可能ファイルのみのプロジェクトがあります

Executable myprog
  hs-source-dirs: src
  main-is: MyMain.hs

を超えて、以下のいくつかの追加.hsファイルで構成されています。たとえば、その他いくつか。src/src/MyMain.hssrc/Utils.hs

cabal buildのビルドに問題はなく、以下myprogの必要な追加.hsファイルをコンパイルしますが、コンパイルしないため、機能不全のソース tarball が作成されます。私は何を間違っていますか?h-source-dirs の下にすべてのソース ファイルを含めるように cabal に指示するにはどうすればよいですか?src/cabal sdist

補足として、GNU Autotools には、make distcheck最初にソース tar ボールをビルドし、次に新しく生成されたソース tar ボールを介してプロジェクトをビルドしようとするターゲットがありました。cabal私のsource-tarballが健全であることを確認するために、似たようなものはありますか?

4

1 に答える 1

4

スタンザ.cabal内のファイルに他のHaskellファイルをリストする必要があります。Executable

  other-modules: Utils AFewOthers

ディストリビューションには、ファイルにリストされているソースファイルのみが含まれ.cabalます。Cabalには、パッケージに含まれているソースファイルを検出する他の方法はありません。cabal buildを呼び出すghc --makeと、ghcが必要なすべてのソースファイルを見つけてコンパイルするため、ビルドすることができます。

于 2011-01-09T14:28:13.237 に答える