在我正在编写的库中,我需要使用CPP
在两个代码块之间进行选择,具体取决于我的用户是使用LLVM还是本机代码编译。有没有办法在.cabal
文件中检测到这种情况并执行类似
library
-- not real:
if backend(llvm)
CPP-Options: -DUSING_LLVM
或者甚至可以检测传递给GHC的任意标志(而不仅仅是-fllvm
)?
答案 0 :(得分:1)
__GLASGOW_HASKELL_LLVM__
,它是在指定-fllvm
时定义的(也可用于检查llvm版本):