Cabal:有条件地覆盖标志默认值

时间:2012-05-09 20:54:46

标签: haskell override conditional cabal compiler-flags

有没有办法重写:

flag llvm
    description: compile via LLVM
    default    : if os(mingw32)
                   False
                 else
                   True

flag llvm
    description: compile via LLVM
    default    : True

if os(mingw32)
    ?SET-LLVM=False?

cabal与之合作?


注意:

在同一个文件中,llvm标志的使用方式如下:

if flag(llvm)
  ghc-options: -fllvm -optlo-O3

还有许多其他单个高级别标记可转换为多个ghc-options条目,例如static-static -optl-static

1 个答案:

答案 0 :(得分:3)

您可以这样做:

flag llvm
    description: compile via LLVM
    default    : True

-- ...

Executable foo
    if flag(llvm) && !os(windows)
        ghc-options: -fllvm -optlo-O3