xref: /aosp_15_r20/external/bazelbuild-rules_rust/examples/crate_universe/using_cxx/BUILD.bazel (revision d4726bddaa87cc4778e7472feed243fa4b6c267f)
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