aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/cpp
diff options
context:
space:
mode:
authorGravatar hlopko <hlopko@google.com>2018-05-16 12:32:32 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-05-16 12:34:09 -0700
commit6f1a2ecbc05a3d8f7864de8ab085e6c6ec5b9f1a (patch)
tree729ba817da985381dcb9905bc14dd489f43fc845 /tools/cpp
parent391c4cf4acdc33717b24a1338f51961edac2cb98 (diff)
Replace use of output_object_file with output_file in CROSSTOOLS.
RELNOTES: None. PiperOrigin-RevId: 196870840
Diffstat (limited to 'tools/cpp')
-rw-r--r--tools/cpp/CROSSTOOL113
-rw-r--r--tools/cpp/CROSSTOOL.tpl124
-rw-r--r--tools/cpp/crosstool_lib.bzl12
3 files changed, 134 insertions, 115 deletions
diff --git a/tools/cpp/CROSSTOOL b/tools/cpp/CROSSTOOL
index d6a3a53c88..29a71a1066 100644
--- a/tools/cpp/CROSSTOOL
+++ b/tools/cpp/CROSSTOOL
@@ -679,31 +679,8 @@ toolchain {
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 @@ toolchain {
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 @@ toolchain {
}
}
+ 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 d830aded1d..b4d9edd713 100644
--- a/tools/cpp/CROSSTOOL.tpl
+++ b/tools/cpp/CROSSTOOL.tpl
@@ -327,15 +327,8 @@ toolchain {
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 @@ toolchain {
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 @@ toolchain {
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 @@ toolchain {
}
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 875386d47d..1ddd838d0a 100644
--- a/tools/cpp/crosstool_lib.bzl
+++ b/tools/cpp/crosstool_lib.bzl
@@ -223,18 +223,18 @@ def get_features_to_appear_last(platform):
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"],
+ ),
])
]
),