根据 维基 入口,

它包装构建项目所需的文件

我有一个简单的可执行文件 .cabal 项目,基本上包含

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

并由其他一些 .hs 下面的文件 src/ 超过 src/MyMain.hs. 。例如, src/Utils.hs 还有其他一些。

cabal build 没有问题 myprog, 并编译所需的额外 .hs 下面的文件 src/, , 但 cabal sdist 不会,因此会产生功能失调的源电视。我究竟做错了什么?我如何告诉Cabal在HS-Source-Dirs下方包含所有源文件?

作为旁注,带有GNU自动工具,有一个 make distcheck Target,该目标将首先构建一个源电视,然后尝试通过新生成的源角球构建项目,从而确保一切正常。有类似的东西 cabal, ,为了确保我的源头是合理的吗?

有帮助吗?

解决方案

您应该在 .cabal 文件,内部 Executable Stanza。

  other-modules: Utils AFewOthers

该分发仅包括您在您的中列出的源文件 .cabal 文件。 Cabal没有其他方法可以检测包装中的哪些源文件。您仍然可以建造,因为 cabal build 呼叫 ghc --make, ,GHC将找到并编译所需的所有源文件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top