我目前正在开发一个使用大量本机代码的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?或者可能是全球的计算机?
答案 0 :(得分:3)
您只需在沙箱所在的目录中创建本地cabal.config
即可。 (不要修改cabal.sandbox.config
,因为该文件是自动生成的。)