BUCK
1 # src/examples/haskell-cxx/BUCK 2 # 3 # Haskell calling C++ via FFI 4 # 5 # Demonstrates: 6 # - foreign import ccall for C++ functions 7 # - Pointer passing (arrays, strings) 8 # - Opaque handle pattern for C++ objects 9 # - Memory management across language boundary 10 # 11 # Build: buck2 build //src/examples/haskell-cxx:test_ffi 12 # Run: buck2 run //src/examples/haskell-cxx:test_ffi 13 14 load("@toolchains//:haskell.bzl", "haskell_ffi_binary") 15 16 haskell_ffi_binary( 17 name = "test_ffi", 18 hs_srcs = [ 19 "FFI.hs", 20 "Main.hs", 21 ], 22 cxx_srcs = ["ffi.cpp"], 23 cxx_headers = ["ffi.h"], 24 visibility = ["PUBLIC"], 25 )