From 4f10a0bd0a463452bf79456ce3e2294966c70cd1 Mon Sep 17 00:00:00 2001 From: PikachuHy Date: Fri, 14 Jun 2024 14:05:54 +0800 Subject: [PATCH] add compiler_input_flags_feature and compiler_output_flags_feature --- tools/cpp/unix_cc_toolchain_config.bzl | 68 ++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/tools/cpp/unix_cc_toolchain_config.bzl b/tools/cpp/unix_cc_toolchain_config.bzl index 61f656116cbdd1..80bc6c77789741 100644 --- a/tools/cpp/unix_cc_toolchain_config.bzl +++ b/tools/cpp/unix_cc_toolchain_config.bzl @@ -401,6 +401,70 @@ def _impl(ctx): ], ) + compiler_input_flags_feature = feature( + name = "compiler_input_flags", + enabled = True, + flag_sets = [ + flag_set( + actions = [ + ACTION_NAMES.assemble, + ACTION_NAMES.preprocess_assemble, + ACTION_NAMES.linkstamp_compile, + ACTION_NAMES.c_compile, + ACTION_NAMES.cpp_compile, + ACTION_NAMES.cpp_header_parsing, + ACTION_NAMES.cpp_module_compile, + ACTION_NAMES.cpp_module_codegen, + ACTION_NAMES.objc_compile, + ACTION_NAMES.objcpp_compile, + ACTION_NAMES.lto_backend, + ], + flag_groups = [ + flag_group( + flags = ["-c", "%{source_file}"], + expand_if_available = "source_file", + ), + ], + ), + ], + ) + + compiler_output_flags_feature = feature( + name = "compiler_output_flags", + enabled = True, + flag_sets = [ + flag_set( + actions = [ + ACTION_NAMES.assemble, + ACTION_NAMES.preprocess_assemble, + ACTION_NAMES.linkstamp_compile, + ACTION_NAMES.c_compile, + ACTION_NAMES.cpp_compile, + ACTION_NAMES.cpp_header_parsing, + ACTION_NAMES.cpp_module_compile, + ACTION_NAMES.cpp_module_codegen, + ACTION_NAMES.objc_compile, + ACTION_NAMES.objcpp_compile, + ACTION_NAMES.lto_backend, + ], + flag_groups = [ + flag_group( + flags = ["-S"], + expand_if_available = "output_assembly_file", + ), + flag_group( + flags = ["-E"], + expand_if_available = "output_preprocess_file", + ), + flag_group( + flags = ["-o", "%{output_file}"], + expand_if_available = "output_file", + ), + ], + ), + ], + ) + fdo_optimize_feature = feature( name = "fdo_optimize", flag_sets = [ @@ -1486,6 +1550,8 @@ def _impl(ctx): opt_feature, user_compile_flags_feature, sysroot_feature, + compiler_input_flags_feature, + compiler_output_flags_feature, unfiltered_compile_flags_feature, treat_warnings_as_errors_feature, archive_param_file_feature, @@ -1526,6 +1592,8 @@ def _impl(ctx): opt_feature, user_compile_flags_feature, sysroot_feature, + compiler_input_flags_feature, + compiler_output_flags_feature, unfiltered_compile_flags_feature, treat_warnings_as_errors_feature, archive_param_file_feature,