JHC 是一个 Haskell 编译器,它可移植地生成 C 代码,然后调用编译器后端来生成可执行文件。
我需要为 JHC 的运行时系统转储头文件和库,以便 android ndk 可以使用它来编译生成的 C 代码。
或者,我需要弄清楚如何将 android API 链接到 JHC。
基本上,如何将 JHC 插入 android ndk 后端?
编辑:我使用 JHC 可以使用的 ndk 构建工具之一“build/tools/make-standalone-toolchain.sh”制作了一个独立编译器。现在我需要想办法让 JHC 将我的程序编译成共享对象库,以及如何让 JHC 不需要“主”函数。
Edit2:我有以下 targets.ini 和编译脚本。奇怪的是共享库无法加载。
[android]
cc=arm-linux-androideabi-gcc
cflags+= -shared -fPIC -rdynamic -Wno-all
gc=static
executable_extension=.so
merge=mle32
和
#!/bin/sh
jhc --cross -mandroid \
--main=Main.android_main \
hs/Main.hs -o libs/armeabi/libnative-activity &&
ant debug &&
ant debug install