cabal文件中的标志

时间:2015-08-05 01:25:00

标签: haskell cabal

我正在关注包开发的用户指南:https://www.haskell.org/cabal/users-guide/developing-packages.html#quickstart

我被困在Flags部分。如何将标志传递给我的文件?是在build时间吗?我试图搜索它,但没有找到有用的信息 - 只是命令选项--flags

cabal build -f debug无法正常工作

Flag Debug
    Description: Enable debug support
    Manual: True
    Default: False

BenchMark bench-foo
    ghc-options:        -Wall
    type:               exitcode-stdio-1.0
    default-language:   Haskell2010
    build-depends:      base, time
    main-is:            bench-foo.hs
    if flag(debug) && os(windows)
        main-is:        bench-bar.hs

3 个答案:

答案 0 :(得分:21)

将标志传递给cabal configure,例如:

cabal configure -f debug

答案 1 :(得分:4)

使用cabal-2.1.0,你可以这样做:

cabal new-build -f debug 

答案 2 :(得分:0)

使用Stack,使用

stack build --flag <pkg>:debug

debug的{​​{1}}标志设置为True,或使用<pkg>将所有包的--flag '*:debug'标志设置为debug。将True替换为debug,将-debug标志设置为debug

您还可以在False文件中指定标志设置。例如,要将stack.yaml的{​​{1}}标志设置为debug,请将其添加到您的False

<pkg>