Флаги в папках

Я следую инструкциям для разработки пакетов: 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

Ответ 1

Передайте флаги в cabal configure, например:

cabal configure -f debug

Ответ 2

С помощью cabal-2.1.0 вы можете сделать это следующим образом:

cabal new-build -f debug 

Ответ 3

Со стеком, используйте

stack build --flag <pkg>:debug

установить флаг debug в True для <pkg> или использовать --flag '*:debug' чтобы установить флаг debug в True для всех пакетов. Замените debug на -debug чтобы установить флаг debug в False.

Вы также можете указать параметры флага в файле stack.yaml. Например, чтобы установить флаг debug в False для <pkg>, добавьте это в ваш stack.yaml:

flags:
  <pkg>:
    debug: false