summaryrefslogtreecommitdiffstats
path: root/vendor/cxx/BUCK
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/cxx/BUCK')
-rw-r--r--vendor/cxx/BUCK99
1 files changed, 99 insertions, 0 deletions
diff --git a/vendor/cxx/BUCK b/vendor/cxx/BUCK
new file mode 100644
index 000000000..f447d7291
--- /dev/null
+++ b/vendor/cxx/BUCK
@@ -0,0 +1,99 @@
+rust_library(
+ name = "cxx",
+ srcs = glob(["src/**/*.rs"]),
+ doc_deps = [
+ ":cxx-build",
+ ],
+ edition = "2018",
+ features = [
+ "alloc",
+ "std",
+ ],
+ visibility = ["PUBLIC"],
+ deps = [
+ ":core",
+ ":cxxbridge-macro",
+ ],
+)
+
+alias(
+ name = "codegen",
+ actual = ":cxxbridge",
+ visibility = ["PUBLIC"],
+)
+
+rust_binary(
+ name = "cxxbridge",
+ srcs = glob(["gen/cmd/src/**/*.rs"]) + [
+ "gen/cmd/src/gen",
+ "gen/cmd/src/syntax",
+ ],
+ edition = "2018",
+ deps = [
+ "//third-party:clap",
+ "//third-party:codespan-reporting",
+ "//third-party:proc-macro2",
+ "//third-party:quote",
+ "//third-party:syn",
+ ],
+)
+
+cxx_library(
+ name = "core",
+ srcs = ["src/cxx.cc"],
+ exported_headers = {
+ "cxx.h": "include/cxx.h",
+ },
+ exported_linker_flags = ["-lstdc++"],
+ header_namespace = "rust",
+ visibility = ["PUBLIC"],
+)
+
+rust_library(
+ name = "cxxbridge-macro",
+ srcs = glob(["macro/src/**/*.rs"]) + ["macro/src/syntax"],
+ doctests = False,
+ edition = "2018",
+ proc_macro = True,
+ deps = [
+ "//third-party:proc-macro2",
+ "//third-party:quote",
+ "//third-party:syn",
+ ],
+)
+
+rust_library(
+ name = "cxx-build",
+ srcs = glob(["gen/build/src/**/*.rs"]) + [
+ "gen/build/src/gen",
+ "gen/build/src/syntax",
+ ],
+ doctests = False,
+ 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"]) + [
+ "gen/lib/src/gen",
+ "gen/lib/src/syntax",
+ ],
+ edition = "2018",
+ visibility = ["PUBLIC"],
+ deps = [
+ "//third-party:cc",
+ "//third-party:codespan-reporting",
+ "//third-party:proc-macro2",
+ "//third-party:quote",
+ "//third-party:syn",
+ ],
+)