如何让Stack调用Happy,Alex和其他构建工具?

时间:2015-10-02 00:58:06

标签: haskell happy haskell-stack

作为编译器的一部分,我需要alexhappy作为构建过程的一部分运行。 Stack如何支持这种情况?

Bonus:如何将alexhappy注册为编译时依赖项?

1 个答案:

答案 0 :(得分:14)

cabal了解alex文件的后缀.x和快乐文件的.y,并会自动使用alex和happy来构建相应的.hs文件。

采取的步骤:

  1. .x.y个文件添加到extra-source-files:部分
  2. alexhappy添加到您的build-tools:部分
  3. 如果您的源文件是Foo.Bar.x,请确保Foo.Barexposed-module:
  4. 中列出了other-modules:

    使用alex和happy的软件包的一个很好的例子是language-python包:

    https://github.com/bjpop/language-python/blob/master/language-python.cabal

    更新:这也与堆栈相关。事实上,堆栈也将构建亚历克斯并为你感到高兴。