Google-internal change.
PiperOrigin-RevId: 568838564
Change-Id: I0c1891732dcedda12ac8a9975d5b22c79a014687
diff --git a/rs_bindings_from_cc/bazel_support/with_cc_toolchain_flags.bzl b/rs_bindings_from_cc/bazel_support/with_cc_toolchain_flags.bzl
index a6395d8..93a4772 100644
--- a/rs_bindings_from_cc/bazel_support/with_cc_toolchain_flags.bzl
+++ b/rs_bindings_from_cc/bazel_support/with_cc_toolchain_flags.bzl
@@ -18,7 +18,7 @@
def _append_escaped_newline(sequence):
return [a + " \\\n" for a in sequence]
-def get_cc_command_line_for_action(ctx, action_name):
+def get_cc_command_line_for_action(ctx, action_name, compilation_contexts):
"""Returns the command line flags for the given cc action name.
Args:
@@ -36,14 +36,26 @@
requested_features = ctx.features,
unsupported_features = DISABLED_FEATURES + ctx.disabled_features,
)
- stl = ctx.attr._stl[CcInfo].compilation_context
variables = cc_common.create_compile_variables(
feature_configuration = feature_configuration,
cc_toolchain = cc_toolchain,
user_compile_flags = ctx.fragments.cpp.copts + ctx.fragments.cpp.cxxopts,
- system_include_directories = depset(cc_toolchain.built_in_include_directories, transitive = [stl.system_includes]),
- include_directories = stl.includes,
- quote_include_directories = stl.quote_includes,
+ system_include_directories = depset(cc_toolchain.built_in_include_directories, transitive = [
+ compilation_context.system_includes
+ for compilation_context in compilation_contexts
+ ]),
+ include_directories = depset([
+ include_directory
+ for compilation_context in compilation_contexts
+ for include_directory in compilation_context.includes.to_list()
+ ]),
+ quote_include_directories = depset(
+ [
+ quote_include
+ for compilation_context in compilation_contexts
+ for quote_include in compilation_context.quote_includes.to_list()
+ ],
+ ),
)
return cc_common.get_memory_inefficient_command_line(
feature_configuration = feature_configuration,
@@ -52,7 +64,9 @@
)
def _with_cc_toolchain_flags_impl(ctx):
- command_line = get_cc_command_line_for_action(ctx, ACTION_NAMES.cpp_header_parsing)
+ command_line = get_cc_command_line_for_action(ctx, ACTION_NAMES.cpp_header_parsing, [
+ ctx.attr._stl[CcInfo].compilation_context,
+ ])
driver = ctx.actions.declare_file(ctx.attr.name)
ctx.actions.write(
is_executable = True,