Replace use of output_object_file with output_file in CROSSTOOLS.
RELNOTES: None.
PiperOrigin-RevId: 196870840
diff --git a/tools/cpp/CROSSTOOL b/tools/cpp/CROSSTOOL
index d6a3a53..29a71a1 100644
--- a/tools/cpp/CROSSTOOL
+++ b/tools/cpp/CROSSTOOL
@@ -679,31 +679,8 @@
tool {
tool_path: 'wrapper/bin/msvc_cl.bat'
}
- flag_set {
- flag_group {
- flag: '/c'
- flag: '%{source_file}'
- }
- }
- flag_set {
- expand_if_all_available: 'output_object_file'
- flag_group {
- flag: '/Fo%{output_object_file}'
- }
- }
- flag_set {
- expand_if_all_available: 'output_assembly_file'
- flag_group {
- flag: '/Fa%{output_assembly_file}'
- }
- }
- flag_set {
- expand_if_all_available: 'output_preprocess_file'
- flag_group {
- flag: '/P'
- flag: '/Fi%{output_preprocess_file}'
- }
- }
+ implies: 'compiler_input_flags'
+ implies: 'compiler_output_flags'
implies: 'legacy_compile_flags'
implies: 'user_compile_flags'
implies: 'sysroot'
@@ -716,31 +693,8 @@
tool {
tool_path: 'wrapper/bin/msvc_cl.bat'
}
- flag_set {
- flag_group {
- flag: '/c'
- flag: '%{source_file}'
- }
- }
- flag_set {
- expand_if_all_available: 'output_object_file'
- flag_group {
- flag: '/Fo%{output_object_file}'
- }
- }
- flag_set {
- expand_if_all_available: 'output_assembly_file'
- flag_group {
- flag: '/Fa%{output_assembly_file}'
- }
- }
- flag_set {
- expand_if_all_available: 'output_preprocess_file'
- flag_group {
- flag: '/P'
- flag: '/Fi%{output_preprocess_file}'
- }
- }
+ implies: 'compiler_input_flags'
+ implies: 'compiler_output_flags'
implies: 'legacy_compile_flags'
implies: 'user_compile_flags'
implies: 'sysroot'
@@ -870,6 +824,65 @@
}
}
+ feature {
+ name: 'compiler_output_flags'
+ flag_set {
+ action: 'assemble'
+ flag_group {
+ expand_if_all_available: 'output_file'
+ expand_if_none_available: 'output_assembly_file'
+ expand_if_none_available: 'output_preprocess_file'
+ flag: '/Fo%{output_file}'
+ flag: '/Zi'
+ }
+ }
+ flag_set {
+ action: 'preprocess-assemble'
+ action: 'c-compile'
+ action: 'c++-compile'
+ action: 'c++-header-parsing'
+ action: 'c++-header-preprocessing'
+ action: 'c++-module-compile'
+ action: 'c++-module-codegen'
+ flag_group {
+ expand_if_all_available: 'output_file'
+ expand_if_none_available: 'output_assembly_file'
+ expand_if_none_available: 'output_preprocess_file'
+ flag: '/Fo%{output_file}'
+ }
+ flag_group {
+ expand_if_all_available: 'output_file'
+ expand_if_all_available: 'output_assembly_file'
+ flag: '/Fa%{output_file}'
+ }
+ flag_group {
+ expand_if_all_available: 'output_file'
+ expand_if_all_available: 'output_preprocess_file'
+ flag: '/P'
+ flag: '/Fi%{output_file}'
+ }
+ }
+ }
+
+ feature {
+ name: 'compiler_input_flags'
+ flag_set {
+ action: 'assemble'
+ action: 'preprocess-assemble'
+ action: 'c-compile'
+ action: 'c++-compile'
+ action: 'c++-header-parsing'
+ action: 'c++-header-preprocessing'
+ action: 'c++-module-compile'
+ action: 'c++-module-codegen'
+ flag_group {
+ expand_if_all_available: 'source_file'
+ flag: '/c'
+ flag: '%{source_file}'
+ }
+ }
+ }
+
compilation_mode_flags {
mode: DBG
compiler_flag: "/DDEBUG=1"
diff --git a/tools/cpp/CROSSTOOL.tpl b/tools/cpp/CROSSTOOL.tpl
index d830aded..b4d9edd 100644
--- a/tools/cpp/CROSSTOOL.tpl
+++ b/tools/cpp/CROSSTOOL.tpl
@@ -327,15 +327,8 @@
tool {
tool_path: '%{msvc_ml_path}'
}
- flag_set {
- expand_if_all_available: 'output_object_file'
- flag_group {
- flag: '/Fo%{output_object_file}'
- flag: '/Zi'
- flag: '/c'
- flag: '%{source_file}'
- }
- }
+ implies: 'compiler_input_flags'
+ implies: 'compiler_output_flags'
implies: 'nologo'
implies: 'msvc_env'
implies: 'sysroot'
@@ -347,31 +340,8 @@
tool {
tool_path: '%{msvc_cl_path}'
}
- flag_set {
- flag_group {
- flag: '/c'
- flag: '%{source_file}'
- }
- }
- flag_set {
- expand_if_all_available: 'output_object_file'
- flag_group {
- flag: '/Fo%{output_object_file}'
- }
- }
- flag_set {
- expand_if_all_available: 'output_assembly_file'
- flag_group {
- flag: '/Fa%{output_assembly_file}'
- }
- }
- flag_set {
- expand_if_all_available: 'output_preprocess_file'
- flag_group {
- flag: '/P'
- flag: '/Fi%{output_preprocess_file}'
- }
- }
+ implies: 'compiler_input_flags'
+ implies: 'compiler_output_flags'
implies: 'legacy_compile_flags'
implies: 'nologo'
implies: 'msvc_env'
@@ -387,31 +357,8 @@
tool {
tool_path: '%{msvc_cl_path}'
}
- flag_set {
- flag_group {
- flag: '/c'
- flag: '%{source_file}'
- }
- }
- flag_set {
- expand_if_all_available: 'output_object_file'
- flag_group {
- flag: '/Fo%{output_object_file}'
- }
- }
- flag_set {
- expand_if_all_available: 'output_assembly_file'
- flag_group {
- flag: '/Fa%{output_assembly_file}'
- }
- }
- flag_set {
- expand_if_all_available: 'output_preprocess_file'
- flag_group {
- flag: '/P'
- flag: '/Fi%{output_preprocess_file}'
- }
- }
+ implies: 'compiler_input_flags'
+ implies: 'compiler_output_flags'
implies: 'legacy_compile_flags'
implies: 'nologo'
implies: 'msvc_env'
@@ -1043,6 +990,65 @@
}
feature {
+ name: 'compiler_output_flags'
+ flag_set {
+ action: 'assemble'
+ flag_group {
+ expand_if_all_available: 'output_file'
+ expand_if_none_available: 'output_assembly_file'
+ expand_if_none_available: 'output_preprocess_file'
+ flag: '/Fo%{output_file}'
+ flag: '/Zi'
+ }
+ }
+ flag_set {
+ action: 'preprocess-assemble'
+ action: 'c-compile'
+ action: 'c++-compile'
+ action: 'c++-header-parsing'
+ action: 'c++-header-preprocessing'
+ action: 'c++-module-compile'
+ action: 'c++-module-codegen'
+ flag_group {
+ expand_if_all_available: 'output_file'
+ expand_if_none_available: 'output_assembly_file'
+ expand_if_none_available: 'output_preprocess_file'
+ flag: '/Fo%{output_file}'
+ }
+ flag_group {
+ expand_if_all_available: 'output_file'
+ expand_if_all_available: 'output_assembly_file'
+ flag: '/Fa%{output_file}'
+ }
+ flag_group {
+ expand_if_all_available: 'output_file'
+ expand_if_all_available: 'output_preprocess_file'
+ flag: '/P'
+ flag: '/Fi%{output_file}'
+ }
+ }
+ }
+
+ feature {
+ name: 'compiler_input_flags'
+ flag_set {
+ action: 'assemble'
+ action: 'preprocess-assemble'
+ action: 'c-compile'
+ action: 'c++-compile'
+ action: 'c++-header-parsing'
+ action: 'c++-header-preprocessing'
+ action: 'c++-module-compile'
+ action: 'c++-module-codegen'
+ flag_group {
+ expand_if_all_available: 'source_file'
+ flag: '/c'
+ flag: '%{source_file}'
+ }
+ }
+ }
+
+ feature {
name : 'def_file',
flag_set {
expand_if_all_available: 'def_file_path'
diff --git a/tools/cpp/crosstool_lib.bzl b/tools/cpp/crosstool_lib.bzl
index 875386d..1ddd838 100644
--- a/tools/cpp/crosstool_lib.bzl
+++ b/tools/cpp/crosstool_lib.bzl
@@ -223,18 +223,18 @@
feature(
"compiler_output_flags", [
flag_set(COMPILE_ACTIONS,[
- flag_group(
- flags("-o", "%{output_object_file}"),
- expand_if_all_available=["output_object_file"],
- ),
flag_group(
- flags("-S", "-o", "%{output_assembly_file}"),
+ flags("-S"),
expand_if_all_available=["output_assembly_file"],
),
flag_group(
- flags("-E", "-o", "%{output_preprocess_file}"),
+ flags("-E"),
expand_if_all_available=["output_preprocess_file"],
),
+ flag_group(
+ flags("-o", "%{output_file}"),
+ expand_if_all_available=["output_file"],
+ ),
])
]
),