是否可以将库的示例可执行文件指定为cabal包中的可选项?

时间:2014-02-28 11:48:11

标签: haskell cabal

即。这不合法:

if someFlag {
  executable someExec {
  }
}

还有什么方法可以做到这一点吗?如果不是,最好将示例作为单独的cabal包提供吗?

2 个答案:

答案 0 :(得分:4)

reactive-banana-wx就是这样做的。

首先,定义一个标志:

flag buildExamples
    description: Build example executables
    default: False

然后,对于每个可执行文件,您可以将buildable : false设置为不构建它:

Executable Arithmetic
    if flag(buildExamples)
        build-depends: reactive-banana, wx, wxcore, base
    else
        buildable: False
    hs-source-dirs: src
    main-is: Arithmetic.hs

答案 1 :(得分:2)

我认为你可以使用:

executable someExec
  if (someFlag)
    buildable: True
  else
    buildable: False