rust_bindings_from_cc_aspect: Use full path of headers (instead of `short_path`) for `-include`.
PiperOrigin-RevId: 582358787
Change-Id: Ib4519a855341744a57ccb716f99bba3ffabeaea9
diff --git a/rs_bindings_from_cc/bazel_support/rust_bindings_from_cc_aspect.bzl b/rs_bindings_from_cc/bazel_support/rust_bindings_from_cc_aspect.bzl
index f68f543..8077074 100644
--- a/rs_bindings_from_cc/bazel_support/rust_bindings_from_cc_aspect.bzl
+++ b/rs_bindings_from_cc/bazel_support/rust_bindings_from_cc_aspect.bzl
@@ -178,8 +178,10 @@
header_includes = []
for hdr in public_hdrs:
+ # Use full `path`, instead of `short_path`, so that generated headers (e.g.,
+ # `empty_source_no_public_headers.h`) can be found.
header_includes.append("-include")
- header_includes.append(hdr.short_path)
+ header_includes.append(hdr.path)
return generate_and_compile_bindings(
ctx,
diff --git a/rs_bindings_from_cc/test/empty_public_header/BUILD b/rs_bindings_from_cc/test/empty_public_header/BUILD
index 567d516..cbe3792 100644
--- a/rs_bindings_from_cc/test/empty_public_header/BUILD
+++ b/rs_bindings_from_cc/test/empty_public_header/BUILD
@@ -21,17 +21,11 @@
],
)
+# Regression test to ensure Crubit can have a C++ target depending on a Rust target in `cc_deps`.
crubit_rust_test(
name = "main",
srcs = ["test.rs"],
cc_deps = [
":cc_library_with_rust_deps",
],
- tags = [
- # Currently, the test fails:
- # crubit/rs_bindings_from_cc/test/empty_public_header/rust_library.empty_source_no_public_headers.h file not found
- "manual",
- "nobuilder",
- "notap",
- ],
)