使用 Haskell Stack 时应该使用哪个 -ghc-options?
Which -ghc-options should I use when using Haskell Stack?
我对应该将 GHC 编译选项放在 Haskell Stack 项目中的什么位置感到困惑。通过查看文档,我认为我需要使用 ghc-options
,但是 哪个 ?有两个:
- Stack's
ghc-options
- Cabal's
ghc-options
(似乎人们只是在使用它,但没有实际的文档描述它是什么......)
我认为为编译器指定一个选项会很简单,但这让我很困惑。 preferred/accepted/de-facto/ 是什么?使用Stack构建项目时如何指定GHC选项?
我有兴趣从堆栈人员那里听到更多官方信息,但我们在我们的项目中使用 cabal 和堆栈,对我们来说答案只是范围之一....
我们有很多子项目,每个都有自己的 .cabal 文件。我们有一个堆栈文件,其中提供了有关如何构建整个项目的信息。与整个项目相关的任何内容(可能 -O2
或其他内容)都会进入堆栈文件。
任何只属于一个项目(也许是一个杂散的 -fno-warn-unused-do-bind
)的东西都会放在单独的 .cabal 文件中。
有时我们确实有一个项目的个人 stack.yaml,虽然我们可以把标志放在里面,但最好把它放在 .cabal 文件中,因为它被总体 stack.yaml.
我对应该将 GHC 编译选项放在 Haskell Stack 项目中的什么位置感到困惑。通过查看文档,我认为我需要使用 ghc-options
,但是 哪个 ?有两个:
- Stack's
ghc-options
- Cabal's
ghc-options
(似乎人们只是在使用它,但没有实际的文档描述它是什么......)
我认为为编译器指定一个选项会很简单,但这让我很困惑。 preferred/accepted/de-facto/ 是什么?使用Stack构建项目时如何指定GHC选项?
我有兴趣从堆栈人员那里听到更多官方信息,但我们在我们的项目中使用 cabal 和堆栈,对我们来说答案只是范围之一....
我们有很多子项目,每个都有自己的 .cabal 文件。我们有一个堆栈文件,其中提供了有关如何构建整个项目的信息。与整个项目相关的任何内容(可能 -O2
或其他内容)都会进入堆栈文件。
任何只属于一个项目(也许是一个杂散的 -fno-warn-unused-do-bind
)的东西都会放在单独的 .cabal 文件中。
有时我们确实有一个项目的个人 stack.yaml,虽然我们可以把标志放在里面,但最好把它放在 .cabal 文件中,因为它被总体 stack.yaml.