50 lines
		
	
	
		
			817 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			817 B
		
	
	
	
		
			Python
		
	
	
	
| load("//tools/buck:rust_cxx_bridge.bzl", "rust_cxx_bridge")
 | |
| 
 | |
| rust_test(
 | |
|     name = "test",
 | |
|     srcs = ["test.rs"],
 | |
|     deps = [
 | |
|         ":ffi",
 | |
|         "//:cxx",
 | |
|     ],
 | |
| )
 | |
| 
 | |
| rust_library(
 | |
|     name = "ffi",
 | |
|     srcs = [
 | |
|         "ffi/cast.rs",
 | |
|         "ffi/lib.rs",
 | |
|         "ffi/module.rs",
 | |
|     ],
 | |
|     crate = "cxx_test_suite",
 | |
|     deps = [
 | |
|         ":impl",
 | |
|         "//:cxx",
 | |
|     ],
 | |
| )
 | |
| 
 | |
| cxx_library(
 | |
|     name = "impl",
 | |
|     srcs = [
 | |
|         "ffi/tests.cc",
 | |
|         ":bridge/source",
 | |
|         ":module/source",
 | |
|     ],
 | |
|     headers = {
 | |
|         "ffi/lib.rs.h": ":bridge/header",
 | |
|         "ffi/module.rs.h": ":module/header",
 | |
|         "ffi/tests.h": "ffi/tests.h",
 | |
|     },
 | |
|     deps = ["//:core"],
 | |
| )
 | |
| 
 | |
| rust_cxx_bridge(
 | |
|     name = "bridge",
 | |
|     src = "ffi/lib.rs",
 | |
| )
 | |
| 
 | |
| rust_cxx_bridge(
 | |
|     name = "module",
 | |
|     src = "ffi/module.rs",
 | |
| )
 |