Как создать статическую библиотеку с Haskell FFI?

чтобы скомпилировать библиотеку haskell для использования в C ++, сегодня я использую стек ghc:

stack ghc -- -c -dynamic -fPIC -XHaskell2010 -XOverloadedStrings TestFFI.hs

stack ghc -- --make -dynamic -shared -fPIC -XHaskell2010 -XOverloadedStrings TestFFI.hs -o libTestFFI.so

gcc -fPIC -c test.c -I`stack ghc -- --print-libdir`/include

stack ghc --package Test -- -o libTest.so -shared -dynamic -fPIC TestFFI.o -lHSrts-ghc8.0.2 -lHStimezone-olson-0.1.7-Ib9s8yi63Kn858Rr44Ixqe-ghc8.0.2 test.o

Это работает, но у него есть проблема для развертывания, когда я использую команду ldd в сгенерированной библиотеке, весь путь указывает на мою папку HOME, я хотел бы создать статическую библиотеку со статическими зависимостями, чтобы избежать установки Haskell на пользователя система.

PS: Я буду использовать библиотеку Haskell для кода C ++, но Haskell FFI работает только с C.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]