我想通过 Stack 和 HPack 使用 hsc2hs。问题是,由于 HPack 不允许我将.hsc
文件列为源文件,.hs
因此对文件的更改.hsc
不会触发stack build
.
我的package.yaml
文件如下:
name: bounce-bench
version: 0.1.0
category: acme
dependencies:
- base
source-dirs:
- src
executables:
sim-ffi:
source-dirs: sim
main: sim-ffi.hs
build-tools: hsc2hs
c-sources:
- csim/Bounce.h
- csim/Bounce.c
include-dirs: csim
使用上述文件,初始成功(包括从stack build
构建),但是,如果更改,后续调用不会执行任何操作。sim-ffi.hs
sim-ffi.hsc
stack build
sim-ffi.hsc
如果我尝试将main
键的值从sim-ffi.hs
to更改sim-ffi.hsc
,我会被明确告知:
Cabal-simple_mPHDZzAJ_2.4.0.1_ghc-8.6.5: The 'main-is' field must specify a
'.hs' or '.lhs' file (even if it is generated by a preprocessor), or it may
specify a C/C++/obj-C source file.