Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1129)

Side by Side Diff: build/toolchain/win/BUILD.gn

Issue 2748793004: Add static analysis support to Win Clang builds (Closed)
Patch Set: Improve mode arg help text Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « build/toolchain/gcc_toolchain.gni ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import("//build/config/clang/clang.gni") 5 import("//build/config/clang/clang.gni")
6 import("//build/config/compiler/compiler.gni") 6 import("//build/config/compiler/compiler.gni")
7 import("//build/config/sanitizers/sanitizers.gni") 7 import("//build/config/sanitizers/sanitizers.gni")
8 import("//build/config/win/visual_studio_version.gni") 8 import("//build/config/win/visual_studio_version.gni")
9 import("//build/toolchain/clang_static_analyzer.gni")
9 import("//build/toolchain/goma.gni") 10 import("//build/toolchain/goma.gni")
10 import("//build/toolchain/toolchain.gni") 11 import("//build/toolchain/toolchain.gni")
11 12
12 # Should only be running on Windows. 13 # Should only be running on Windows.
13 assert(is_win) 14 assert(is_win)
14 15
15 # Setup the Visual Studio state. 16 # Setup the Visual Studio state.
16 # 17 #
17 # Its arguments are the VS path and the compiler wrapper tool. It will write 18 # Its arguments are the VS path and the compiler wrapper tool. It will write
18 # "environment.x86" and "environment.x64" to the build directory and return a 19 # "environment.x86" and "environment.x64" to the build directory and return a
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 if (toolchain_uses_clang && host_os != "win") { 89 if (toolchain_uses_clang && host_os != "win") {
89 # This toolchain definition uses response files for compilations. GN uses 90 # This toolchain definition uses response files for compilations. GN uses
90 # the quoting rules of the host OS, while clang-cl always defaults to 91 # the quoting rules of the host OS, while clang-cl always defaults to
91 # cmd.exe quoting rules for parsing response files. Tell clang-cl to use 92 # cmd.exe quoting rules for parsing response files. Tell clang-cl to use
92 # POSIX quoting rules, so it can understand what GN generates. 93 # POSIX quoting rules, so it can understand what GN generates.
93 cl = "${invoker.cl} --rsp-quoting=posix" 94 cl = "${invoker.cl} --rsp-quoting=posix"
94 } else { 95 } else {
95 cl = invoker.cl 96 cl = invoker.cl
96 } 97 }
97 98
99 if (toolchain_uses_clang && use_clang_static_analyzer) {
100 analyzer_prefix =
101 "$python_path " +
102 rebase_path("//build/toolchain/clang_static_analyzer_wrapper.py",
103 root_build_dir) + " --mode=cl"
104 cl = "${analyzer_prefix} ${cl}"
105 }
106
98 if (use_lld) { 107 if (use_lld) {
99 if (host_os == "win") { 108 if (host_os == "win") {
100 lld_link = "lld-link.exe" 109 lld_link = "lld-link.exe"
101 } else { 110 } else {
102 lld_link = "lld-link" 111 lld_link = "lld-link"
103 } 112 }
104 prefix = rebase_path("$clang_base_path/bin", root_build_dir) 113 prefix = rebase_path("$clang_base_path/bin", root_build_dir)
105 114
106 # lld-link includes a replacement for lib.exe that can produce thin 115 # lld-link includes a replacement for lib.exe that can produce thin
107 # archives and understands bitcode (for lto builds). 116 # archives and understands bitcode (for lto builds).
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
430 msvc_toolchain("winrt_x64") { 439 msvc_toolchain("winrt_x64") {
431 environment = "environment.winrt_x64" 440 environment = "environment.winrt_x64"
432 cl = "${goma_prefix}\"${vc_bin_dir}/cl.exe\"" 441 cl = "${goma_prefix}\"${vc_bin_dir}/cl.exe\""
433 442
434 toolchain_args = { 443 toolchain_args = {
435 is_clang = false 444 is_clang = false
436 current_cpu = "x64" 445 current_cpu = "x64"
437 } 446 }
438 } 447 }
439 } 448 }
OLDNEW
« no previous file with comments | « build/toolchain/gcc_toolchain.gni ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698