BUILD.dhall
1 --| Haskell calling C++ via FFI 2 --| 3 --| Demonstrates: 4 --| - foreign import ccall for C++ functions 5 --| - Pointer passing (arrays, strings) 6 --| - Opaque handle pattern for C++ objects 7 8 let A = ../../../dhall/prelude/package.dhall 9 let S = ../../../dhall/prelude/to-starlark.dhall 10 11 let test_ffi = 12 (A.haskellFFIBinary "test_ffi" ["FFI.hs", "Main.hs"] ["ffi.cpp"]) 13 with cxx_headers = ["ffi.h"] 14 15 in { rules = [ S.haskellFFIBinary test_ffi ] 16 , header = '' 17 load("@toolchains//:haskell.bzl", "haskell_ffi_binary") 18 '' 19 }