Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/sanitizers/sanitizers.gni") | 5 import("//build/config/sanitizers/sanitizers.gni") |
| 6 import("//build/config/win/visual_studio_version.gni") | 6 import("//build/config/win/visual_studio_version.gni") |
| 7 import("//build/toolchain/goma.gni") | 7 import("//build/toolchain/goma.gni") |
| 8 import("//build/toolchain/toolchain.gni") | 8 import("//build/toolchain/toolchain.gni") |
| 9 import("//build/toolchain/concurrent_links.gni") | |
| 9 | 10 |
| 10 # Should only be running on Windows. | 11 # Should only be running on Windows. |
| 11 assert(is_win) | 12 assert(is_win) |
| 12 | 13 |
| 13 # Setup the Visual Studio state. | 14 # Setup the Visual Studio state. |
| 14 # | 15 # |
| 15 # Its arguments are the VS path and the compiler wrapper tool. It will write | 16 # Its arguments are the VS path and the compiler wrapper tool. It will write |
| 16 # "environment.x86" and "environment.x64" to the build directory and return a | 17 # "environment.x86" and "environment.x64" to the build directory and return a |
| 17 # list to us. | 18 # list to us. |
| 18 gyp_win_tool_path = | 19 gyp_win_tool_path = |
| 19 rebase_path("//tools/gyp/pylib/gyp/win_tool.py", root_build_dir) | 20 rebase_path("//tools/gyp/pylib/gyp/win_tool.py", root_build_dir) |
| 20 | 21 |
| 21 if (use_goma) { | 22 if (use_goma) { |
| 22 goma_prefix = "$goma_dir/gomacc.exe " | 23 goma_prefix = "$goma_dir/gomacc.exe " |
| 23 } else { | 24 } else { |
| 24 goma_prefix = "" | 25 goma_prefix = "" |
| 25 } | 26 } |
| 26 | 27 |
| 27 # This value will be inherited in the toolchain below. | |
| 28 concurrent_links = exec_script("../get_concurrent_links.py", [], "value") | |
| 29 | |
| 30 # Copy the VS runtime DLL for the default toolchain to the root build directory | 28 # Copy the VS runtime DLL for the default toolchain to the root build directory |
| 31 # so things will run. | 29 # so things will run. |
| 32 if (current_toolchain == default_toolchain) { | 30 if (current_toolchain == default_toolchain) { |
| 33 if (is_debug) { | 31 if (is_debug) { |
| 34 configuration_name = "Debug" | 32 configuration_name = "Debug" |
| 35 } else { | 33 } else { |
| 36 configuration_name = "Release" | 34 configuration_name = "Release" |
| 37 } | 35 } |
| 38 exec_script("../../vs_toolchain.py", | 36 exec_script("../../vs_toolchain.py", |
| 39 [ | 37 [ |
| 40 "copy_dlls", | 38 "copy_dlls", |
| 41 rebase_path(root_build_dir), | 39 rebase_path(root_build_dir), |
| 42 configuration_name, | 40 configuration_name, |
| 43 target_cpu, | 41 target_cpu, |
| 44 ]) | 42 ]) |
| 45 } | 43 } |
| 46 | 44 |
| 47 # Parameters: | 45 # Parameters: |
| 48 # toolchain_cpu: current_cpu to pass as a build arg | 46 # toolchain_cpu: current_cpu to pass as a build arg |
| 49 # toolchain_os: current_os to pass as a build arg | 47 # toolchain_os: current_os to pass as a build arg |
| 50 # environment: File name of environment file. | 48 # environment: File name of environment file. |
| 51 template("msvc_toolchain") { | 49 template("msvc_toolchain") { |
|
brettw
2016/06/06 17:33:39
Same comment in this file.
| |
| 52 if (defined(invoker.concurrent_links)) { | 50 if (defined(invoker.concurrent_links)) { |
| 53 concurrent_links = invoker.concurrent_links | 51 concurrent_links = invoker.concurrent_links |
| 54 } | 52 } |
| 55 | 53 |
| 56 env = invoker.environment | 54 env = invoker.environment |
| 57 | 55 |
| 58 if (invoker.is_clang && host_os != "win") { | 56 if (invoker.is_clang && host_os != "win") { |
| 59 # This toolchain definition uses response files for compilations. GN uses | 57 # This toolchain definition uses response files for compilations. GN uses |
| 60 # the quoting rules of the host OS, while clang-cl always defaults to | 58 # the quoting rules of the host OS, while clang-cl always defaults to |
| 61 # cmd.exe quoting rules for parsing response files. Tell clang-cl to use | 59 # cmd.exe quoting rules for parsing response files. Tell clang-cl to use |
| (...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 416 | 414 |
| 417 msvc_toolchain("winrt_x64") { | 415 msvc_toolchain("winrt_x64") { |
| 418 environment = "environment.winrt_x64" | 416 environment = "environment.winrt_x64" |
| 419 cl = "${goma_prefix}\"${vc_bin_dir}/cl.exe\"" | 417 cl = "${goma_prefix}\"${vc_bin_dir}/cl.exe\"" |
| 420 is_clang = false | 418 is_clang = false |
| 421 | 419 |
| 422 toolchain_cpu = "x64" | 420 toolchain_cpu = "x64" |
| 423 toolchain_os = current_os | 421 toolchain_os = current_os |
| 424 } | 422 } |
| 425 } | 423 } |
| OLD | NEW |