cabal 文件中的标志
Flags in cabal files
我正在遵循包开发的用户指南: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
将标志传递给 cabal configure
,例如:
cabal configure -f debug
使用 cabal-2.1.0
你可以这样做:
cabal new-build -f debug
使用堆栈,使用
stack build --flag <pkg>:debug
为<pkg>
设置debug
标志为True
,或使用--flag '*:debug'
为所有包设置debug
标志为True
.将 debug
替换为 -debug
以将 debug
标志设置为 False
。
您还可以在 stack.yaml
文件中指定标志设置。例如,要为 <pkg>
将 debug
标志设置为 False
,请将其添加到您的 stack.yaml
:
flags:
<pkg>:
debug: false
我正在遵循包开发的用户指南: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
将标志传递给 cabal configure
,例如:
cabal configure -f debug
使用 cabal-2.1.0
你可以这样做:
cabal new-build -f debug
使用堆栈,使用
stack build --flag <pkg>:debug
为<pkg>
设置debug
标志为True
,或使用--flag '*:debug'
为所有包设置debug
标志为True
.将 debug
替换为 -debug
以将 debug
标志设置为 False
。
您还可以在 stack.yaml
文件中指定标志设置。例如,要为 <pkg>
将 debug
标志设置为 False
,请将其添加到您的 stack.yaml
:
flags:
<pkg>:
debug: false