Hpack或预处理器平台信息

时间:2019-11-25 15:28:38

标签: haskell yaml ghc haskell-stack hpack

我正在为项目使用hpack + stack,并且有一个硬编码的路径(用于调试,我不想正确执行此操作),这与mac os x和linux有所不同。现在,我自己将它保存在一个gitignored文件上,并且该文件在我的工作站之间有所不同,但是我更希望有预处理器来处理它。

理想情况下,我想要一个等效于#ifdef __linux__的东西,它可以工作。我什至乐于操纵package.yaml来提出-D编译器标志。 hpack(我认为使用Data.Yaml)是否具有此功能?

1 个答案:

答案 0 :(得分:1)

hpack确实支持:hpack conditionals。看起来像这样:

when:
  - condition: os(darwin)
  then:
    extra-lib-dirs: lib/darwin
  else:
    extra-lib-dirs: lib/linux