2016-06-19 51 views
4

我很困惑我应该把GHC编译选项放在Haskell Stack项目中。从文件审查,我认为我需要使用ghc-options,但哪一个?有两种:在使用Haskell堆栈时应该使用哪种-ghc选项?

我想指定一个选项编译器会很简单,但这让我很困惑。什么是首选/接受/事实/?使用Stack构建项目时如何指定GHC选项?

回答

1

我很想从栈伙计听到一些更正式,但是我们用阴谋和堆在我们的项目,我们的答案只是一个范围....

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

任何只属于一个项目(可能是流浪的-fno-warn-unused-do-bind)都会出现在单个.cabal文件中。

有时候我们也有一个项目的单个stack.yaml,虽然我们可以把标志放在那里,但最好放在.cabal文件中,因为它会被整个堆栈使用。 YAML。