/ src / examples / haskell-cxx / BUILD.dhall
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      }