summaryrefslogtreecommitdiffstats
path: root/vendor/cxx/BUILD
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/cxx/BUILD')
-rw-r--r--vendor/cxx/BUILD93
1 files changed, 93 insertions, 0 deletions
diff --git a/vendor/cxx/BUILD b/vendor/cxx/BUILD
new file mode 100644
index 000000000..787994bd4
--- /dev/null
+++ b/vendor/cxx/BUILD
@@ -0,0 +1,93 @@
+load("@rules_cc//cc:defs.bzl", "cc_library")
+load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", "rust_proc_macro")
+
+rust_library(
+ name = "cxx",
+ srcs = glob(["src/**/*.rs"]),
+ crate_features = [
+ "alloc",
+ "std",
+ ],
+ edition = "2018",
+ proc_macro_deps = [
+ ":cxxbridge-macro",
+ ],
+ visibility = ["//visibility:public"],
+ deps = [":core-lib"],
+)
+
+alias(
+ name = "codegen",
+ actual = ":cxxbridge",
+ visibility = ["//visibility:public"],
+)
+
+rust_binary(
+ name = "cxxbridge",
+ srcs = glob(["gen/cmd/src/**/*.rs"]),
+ data = ["gen/cmd/src/gen/include/cxx.h"],
+ edition = "2018",
+ deps = [
+ "//third-party:clap",
+ "//third-party:codespan-reporting",
+ "//third-party:proc-macro2",
+ "//third-party:quote",
+ "//third-party:syn",
+ ],
+)
+
+cc_library(
+ name = "core",
+ hdrs = ["include/cxx.h"],
+ include_prefix = "rust",
+ strip_include_prefix = "include",
+ visibility = ["//visibility:public"],
+)
+
+cc_library(
+ name = "core-lib",
+ srcs = ["src/cxx.cc"],
+ hdrs = ["include/cxx.h"],
+)
+
+rust_proc_macro(
+ name = "cxxbridge-macro",
+ srcs = glob(["macro/src/**/*.rs"]),
+ edition = "2018",
+ deps = [
+ "//third-party:proc-macro2",
+ "//third-party:quote",
+ "//third-party:syn",
+ ],
+)
+
+rust_library(
+ name = "cxx-build",
+ srcs = glob(["gen/build/src/**/*.rs"]),
+ data = ["gen/build/src/gen/include/cxx.h"],
+ edition = "2018",
+ deps = [
+ "//third-party:cc",
+ "//third-party:codespan-reporting",
+ "//third-party:once_cell",
+ "//third-party:proc-macro2",
+ "//third-party:quote",
+ "//third-party:scratch",
+ "//third-party:syn",
+ ],
+)
+
+rust_library(
+ name = "cxx-gen",
+ srcs = glob(["gen/lib/src/**/*.rs"]),
+ data = ["gen/lib/src/gen/include/cxx.h"],
+ edition = "2018",
+ visibility = ["//visibility:public"],
+ deps = [
+ "//third-party:cc",
+ "//third-party:codespan-reporting",
+ "//third-party:proc-macro2",
+ "//third-party:quote",
+ "//third-party:syn",
+ ],
+)