为什么“ Cabal SDIST”不包括所有“构建所需的文件”?
题
根据 维基 入口,
它包装构建项目所需的文件
我有一个简单的可执行文件 .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将找到并编译所需的所有源文件。
不隶属于 StackOverflow