133d722a9Sopenharmony_ciload("@rules_cc//cc:defs.bzl", "cc_library")
233d722a9Sopenharmony_ciload("@rules_rust//rust:defs.bzl", "rust_binary")
333d722a9Sopenharmony_ciload("//tools/bazel:rust_cxx_bridge.bzl", "rust_cxx_bridge")
433d722a9Sopenharmony_ci
533d722a9Sopenharmony_cirust_binary(
633d722a9Sopenharmony_ci    name = "demo",
733d722a9Sopenharmony_ci    srcs = glob(["src/**/*.rs"]),
833d722a9Sopenharmony_ci    edition = "2018",
933d722a9Sopenharmony_ci    deps = [
1033d722a9Sopenharmony_ci        ":blobstore-sys",
1133d722a9Sopenharmony_ci        ":bridge",
1233d722a9Sopenharmony_ci        "//:cxx",
1333d722a9Sopenharmony_ci    ],
1433d722a9Sopenharmony_ci)
1533d722a9Sopenharmony_ci
1633d722a9Sopenharmony_cirust_cxx_bridge(
1733d722a9Sopenharmony_ci    name = "bridge",
1833d722a9Sopenharmony_ci    src = "src/main.rs",
1933d722a9Sopenharmony_ci    deps = [":blobstore-include"],
2033d722a9Sopenharmony_ci)
2133d722a9Sopenharmony_ci
2233d722a9Sopenharmony_cicc_library(
2333d722a9Sopenharmony_ci    name = "blobstore-sys",
2433d722a9Sopenharmony_ci    srcs = ["src/blobstore.cc"],
2533d722a9Sopenharmony_ci    copts = ["-std=c++14"],
2633d722a9Sopenharmony_ci    deps = [
2733d722a9Sopenharmony_ci        ":blobstore-include",
2833d722a9Sopenharmony_ci        ":bridge/include",
2933d722a9Sopenharmony_ci    ],
3033d722a9Sopenharmony_ci)
3133d722a9Sopenharmony_ci
3233d722a9Sopenharmony_cicc_library(
3333d722a9Sopenharmony_ci    name = "blobstore-include",
3433d722a9Sopenharmony_ci    hdrs = ["include/blobstore.h"],
3533d722a9Sopenharmony_ci    deps = ["//:core"],
3633d722a9Sopenharmony_ci)
37