如何为沙箱中的所有包设置cabal extra dirs

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

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

麻烦的是,cabal经常需要重新安装我的一些软件包,并重新构建它们,这需要本地包含文件和库。 所以我必须在命令行中指定--extra-lib-dirs和--extra-include-dirs,即使对于那些不需要本机代码的程序,也是非常烦人的。

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

所以我想知道,有没有办法将目录添加到沙盒中的所有软件包的extra-lib-dirs或extra-include-dirs中? 或者,也许全球的电脑?


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

链接地址: http://www.djcxy.com/p/75467.html

上一篇: How to set cabal extra dirs for all packages in a sandbox

下一篇: Everywhere that GHC/Haskell Platform installs