【发布时间】:2018-02-15 23:55:25
【问题描述】:
我想为我的机器上的所有堆栈编译包设置一些自定义编译器标志(比默认值更积极的优化),并遵循stack guide,我添加了一些ghc-options(适用于"$everything")到我的~/.stack/config.yaml。这些标志已正确应用于任何项目目录之外的 stack 调用。
然而,在项目目录中,stack.yaml 选项不只是优先; ~/.stack/config.yaml 中的所有内容都被完全忽略了!我没有在任何项目本地 stack.yaml 文件中指定 ghc-options,但指定的 ~/.stack/config.yaml 无效。
stack documentation 似乎暗示选项应该崩溃,正如我所期望的那样:
stack 有两层配置:项目和非项目。所有这些都存储在 stack.yaml 文件中,但前者有额外的字段(解析器、包、额外的deps和标志)。 后者可以单向组合,以便系统配置文件提供默认值,用户可以使用 ~/.stack/config.yaml 覆盖这些默认值,并且项目可以进一步自定义。
除非我对“自定义”的含义有非常不同的想法,否则这不是我观察到的行为。是我做错了什么,还是文档在这方面具有误导性?
【问题讨论】:
标签: haskell configuration haskell-stack compiler-flags