使用Haskell Stack时我应该使用哪些-ghc-options?

我很困惑我应该在
Haskell Stack项目中放置GHC编译选项.从文档的评论,我认为我需要使用ghc-options,但哪一个?那里有两个:

> Stack’s ghc-options
> Cabal’s ghc-options(似乎人们只是使用它,但没有实际文件描述它是什么……)

我认为为编译器指定一个选项会很简单,但这让我很神秘.什么是首选/接受/事实上/?使用Stack构建项目时指定GHC选项的方法?

最佳答案 我有兴趣听到堆栈人员更多的官方消息,但我们在项目中使用了cabal和stack,而我们的答案只是范围之一……

我们有许多子项目,每个子项目都有自己的.cabal文件.我们有一个堆栈文件,提供有关如何构建整个项目的信息.任何与整个项目有关的东西(可能是-O2或其他)都会进入堆栈文件.

任何只涉及一个项目的东西(可能是一个stray -fno-warn-unused-do-bind)都会出现在单独的.cabal文件中.

有时我们同时为项目提供了单独的stack.yaml,虽然我们可以将标记放入其中,但最好将它放在.cabal文件中,因为整个stack.yaml会使用它.

点赞