我有一个阴谋计划,我正在用new-build
进行建设。我已将我的库配置为在传递-O0
标志时使用dev
,并在生产构建中使用-O2
。
我的阴谋档案中的相关节是
if (flag(dev)) || (flag(library-only))
ghc-options: -O0
cpp-options: -DDEVELOPMENT
else
ghc-options: -O2
但是,如果我执行cabal new-build -f dev
,cabal出于某种原因通过了-O1
选项。
我可以通过传递--disable-optimization
来解决这个问题,但是我很好奇-f dev
的行为方式
答案 0 :(得分:0)
据我所知,这是因为cabal默认情况下通过了-O1
,并且添加了-O0
标志并不意味着它不通过另一个标志:-)