我正在尝试在Haskell中编写一个包.该包包含库和可执行文件.我在Cabal文件中指定了这个.该库有三个基本组件:
1)库中有暴露的模块
2)内部构建依赖项不应作为库的一部分导出
3)有外部构建依赖性.
Cabal文件中有一些重叠.对于我写的图书馆:
exposed-modules:暴露模块列表
other-modules:其他模块列表
build-depends:构建依赖项列表
然后是可执行的其他模块:可执行构建依赖中需要公开的模块和其他模块的列表:构建依赖项列表
如果Cabal让我有一个变量,那会更好.
V1 =列出暴露的模块
V2 =列出其他模块
V3 =列出构建依赖项
然后在可执行文件中,例如,我可以做
其他模块:V1,V2
build-depends:V3
或者,我会建议更好地使用Cabal系统!
不,这还不可能。我认为我们在某个问题跟踪器上有这样的功能请求。但请注意,您的可执行文件可以依赖于同一.cabal
文件中定义的库,因此您不必共享exposed-modules
和other-modules
:
Name: some-package
Version: 0.1
[...]
Library
build-depends: some-dependency >= 1.0, ...
exposed-modules: A, B, C
other-modules: C, D, E
[...]
Executable some-exe
main-is: SomeExe.hs
build-depends: some-package == 0.1
Run Code Online (Sandbox Code Playgroud)
有关实际示例,请参见此处。
归档时间: |
|
查看次数: |
293 次 |
最近记录: |