如何为沙盒中的所有包设置cabal额外的目录

时间:2014-04-11 09:33:54

标签: haskell cabal cabal-install

我目前正在开发一个使用大量本机代码的Haskell项目。这意味着必须可以访问包含文件和库。我是通过--extra-lib-dirs和--extra-include-dirs命令行标志来做的。

我也使用cabal沙箱功能来避免全球依赖地狱。

麻烦的是,cabal经常需要重新安装我的一些软件包然后重建它们,这需要本机包含文件和库。因此,在构建我的任何软件包时,我必须在命令行中指定--extra-lib-dirs和--extra-include-dirs,即使是那些不需要本机代码的软件包,这也非常烦人。 / p>

我知道我可以在.cabal文件中使用extra-lib-dirs和extra-include-dirs,但那些不允许相对路径,我更喜欢不将具有绝对路径的文件提交到集中式存储库。

所以我想知道,有没有办法为沙箱中的所有软件包添加目录到extra-lib-dirs或extra-include-dirs?或者可能是全球的计算机?

1 个答案:

答案 0 :(得分:3)

您只需在沙箱所在的目录中创建本地cabal.config即可。 (不要修改cabal.sandbox.config,因为该文件是自动生成的。)