JHC является компилятором Haskell, который переносит код C, а затем запускает исполняемый файл компилятора для создания исполняемого файла.
Мне нужно сбрасывать файлы заголовков и библиотеки для системы времени исполнения JHC, поэтому андроид ndk может использовать его для компиляции сгенерированного кода C.
В качестве альтернативы мне нужно выяснить, как связать API Android с JHC.
В принципе, как я могу подключить JHC к бэкэнду android ndk?
Изменить: я создал автономный компилятор, используя один из инструментов сборки ndk, которые JHC может использовать: "build/tools/make-standalone-toolchain.sh". Теперь мне нужно выяснить, как JHC может скомпилировать мою программу в библиотеку общих объектов и как заставить JHC не требовать "основной" функции.
Edit2: У меня есть следующие target.ini и компилируются script. Странно, что общая библиотека не загружается.
[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