1load("@rules_cc//cc:defs.bzl", "cc_library") 2load("@rules_rust//rust:defs.bzl", "rust_binary") 3load(":rust_cxx_bridge.bzl", "rust_cxx_bridge") 4 5rust_binary( 6 name = "demo", 7 srcs = glob(["src/**/*.rs"]), 8 edition = "2021", 9 deps = [ 10 ":blobstore-sys", 11 ":bridge", 12 "@using_cxx//:cxx", 13 ], 14) 15 16rust_cxx_bridge( 17 name = "bridge", 18 src = "src/main.rs", 19 deps = [":blobstore-include"], 20) 21 22cc_library( 23 name = "blobstore-sys", 24 srcs = ["src/blobstore.cc"], 25 copts = ["-std=c++17"], 26 linkstatic = True, 27 deps = [ 28 ":blobstore-include", 29 ":bridge/include", 30 ], 31) 32 33cc_library( 34 name = "blobstore-include", 35 hdrs = ["include/blobstore.h"], 36 copts = ["-std=c++17"], 37 deps = ["@using_cxx//:cxx_cc"], 38) 39