diff options
Diffstat (limited to 'vendor/cxx/BUILD')
-rw-r--r-- | vendor/cxx/BUILD | 93 |
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", + ], +) |