我参与了一个涉及大量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
..? (为了记录,我尝试了上述内容并且它没有工作)。
答案 0 :(得分:3)
我想添加评论,但stackoverflow告诉我需要 50声誉才能发表评论!
您应该可以使用自定义Setup.hs
文件执行此操作。
这是一个可能对您有所帮助的示例:
https://hackage.haskell.org/package/base-noprelude-4.7.0.0/src/Setup.hs
答案 1 :(得分:2)
抱歉,cabal文件中不允许编程。正如你所注意到的,这种简洁程度有一些缺点,但它也有一些好处:工具更容易预测,读取其他人的cabal文件很简单(你不必这样做)打开程序员的大脑!)。