以编程方式在Haskell Cabal文件中列出`C-sources`

时间:2016-12-22 22:18:05

标签: haskell cabal ffi

我参与了一个涉及大量C FFI的Haskell项目。因此,对于我项目中的每个src/HaskellFile.hs,我都有一个相应的src/HaskellFile.c C源文件。这意味着我必须在我的cabal项目中手动设置所有这些C源:

C-sources:           src/HaskellFile1.c, src/HaskellFile2.c

......等等。

问题:是否可以以编程方式在我的cabal项目文件中列出这些文件?类似的东西:

C-sources:           src/*.c

..? (为了记录,我尝试了上述内容并且它没有工作)。

2 个答案:

答案 0 :(得分:3)

我想添加评论,但stackoverflow告诉我需要 50声誉才能发表评论!

您应该可以使用自定义Setup.hs文件执行此操作。 这是一个可能对您有所帮助的示例: https://hackage.haskell.org/package/base-noprelude-4.7.0.0/src/Setup.hs

答案 1 :(得分:2)

抱歉,cabal文件中不允许编程。正如你所注意到的,这种简洁程度有一些缺点,但它也有一些好处:工具更容易预测,读取其他人的cabal文件很简单(你不必这样做)打开程序员的大脑!)。