如何使用阴谋的MIN_VERSION_等宏与ghci的?(How do I use cabal

2019-07-31 19:25发布

当我使用惊天动地的各种MIN_VERSION_宏在Haskell的项目,我怎么能保证我在GHCI测试时我不使用阴谋,例如它们都正确定义?

Answer 1:

如今, cabal支持cabal repl子,这为您完成所有的设置,所以至少ghci下面是不必要的。 然而:

cabal build命令生成的文件dist/build/autogen/cabal_macros.h ,其中包含所有你需要的定义。 为了包括在GHC调用该文件,你需要标志-optP-include -optPdist/build/autogen/cabal_macros.h

为方便起见,你可以放置在以下.ghci在项目目录中的文件:

:set -optP-include -optPdist/build/autogen/cabal_macros.h

这样你就不必键入出的选项要使用ghci的每一次。

当心,虽然:宏将根据您上次运行配置被定义cabal build ,以及在安装新的软件包,或者使用不同版本的GHC将不会更新:对于你需要重新配置,重建包。

(感谢Simon亨格尔库列表这个智慧于: http://www.haskell.org/pipermail/libraries/2012-September/018491.html )。



文章来源: How do I use cabal's MIN_VERSION_ and other macros with ghci?