我制作了自己的cabal包(让我们称之为package-1),其中有两个目标,一个库和一个可执行文件。库部分有一个构建依赖列表,可执行文件有另一个更大的构建依赖列表。
现在我创建了package-2,它在依赖于构建的部分列出了package-1。我只想引入package-1的库目标中列出的依赖项。但它似乎引入了所有包-1所有部分中列出的依赖项,包括可执行目标的依赖项。
有没有任何方法可以将依赖关系图修剪为包-1中的库,或者我必须将该库目标分解为一个单独的独立包?
您可以将Buildable: False
设置为可执行文件,然后在需要时使用cabal build Foo
或通过标志(cabal configure -fbuild-foo
或-fbuild-executables
)显式构建它。
可能有用的示例:Cabal多个可执行文件