Support C++ and Rust interop with autocxx

Change-Id: Id2c852bf48ed58d6284e7ab8a388ac38419fc474
Signed-off-by: Brian Silverman <bsilver16384@gmail.com>
diff --git a/third_party/autocxx/parser/BUILD b/third_party/autocxx/parser/BUILD
new file mode 100644
index 0000000..c91ea85
--- /dev/null
+++ b/third_party/autocxx/parser/BUILD
@@ -0,0 +1,38 @@
+load("@rules_rust//rust:defs.bzl", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+licenses([
+    "notice",  # MIT from expression "MIT OR Apache-2.0"
+])
+
+rust_library(
+    name = "autocxx_parser",
+    srcs = glob(["**/*.rs"]),
+    crate_features = [
+        "reproduction_case",
+    ],
+    crate_root = "src/lib.rs",
+    edition = "2021",
+    rustc_flags = [
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-raze",
+        "crate-name=autocxx-parser",
+        "manual",
+    ],
+    version = "0.16.0",
+    deps = [
+        "@//third_party/cargo:indexmap",
+        "@//third_party/cargo:itertools",
+        "@//third_party/cargo:log",
+        "@//third_party/cargo:once_cell",
+        "@//third_party/cargo:proc_macro2",
+        "@//third_party/cargo:quote",
+        "@//third_party/cargo:serde",
+        "@//third_party/cargo:serde_json",
+        "@//third_party/cargo:syn",
+        "@//third_party/cargo:thiserror",
+    ],
+)