¿Cómo vincular un archivo de objeto personalizado con la biblioteca Haskell?

Creé un paquete Haskell que hace llamadas FFI a funciones definidas en el código CUDA. Me gustaría compilar el archivo .cu en un archivo de objeto (.o) durante la compilación del paquete y forzar al vinculador a vincularlo.

Hasta ahora, intenté usar una técnica encontradaesta pregunta. He personalizado buildHook para:

ejecuta nvccejecutar buildHook predeterminadocrear un archivo de biblioteca con código compilado nvcc.

Setup.hs está disponibleaquí.

Esta solución tiene una gran desventaja al restringir este paquete a enlaces estáticos. Aunque cabal produce una biblioteca compartida, no funcionará porque no tiene forma de resolver los símbolos ubicados en el archivo objeto.

¿Hay una manera más simple de vincular código personalizado durante la construcción?

Respuestas a la pregunta(1)

Su respuesta a la pregunta