Как связать пользовательский объектный файл с библиотекой Haskell?

Я создал пакет на Haskell, который делает FFI-вызовы функций, определенных в коде CUDA. Я хотел бы скомпилировать файл .cu в файл объекта (.o) во время сборки пакета и заставить компоновщик связать его.

До сих пор я пытался использовать найденную техникуэтот вопрос, Я настроил buildHook для:

запустить nvccзапустить по умолчанию buildHookсоздать файл библиотеки ar с скомпилированным кодом nvcc.

Setup.hs доступенВот.

Это решение имеет существенный недостаток, заключающийся в ограничении этого пакета статическими ссылками. Хотя cabal создает общую библиотеку, она не будет работать, поскольку у нее нет способа разрешения символов, находящихся в объектном файле.

Есть ли более простой способ связать пользовательский код во время сборки?

Ответы на вопрос(1)

Ваш ответ на вопрос