Commit 72f650d9 authored by Jeremy Apthorp's avatar Jeremy Apthorp Committed by Commit Bot

win: implement cc_wrapper build variable

This allows usage on windows of non-goma build wrappers (e.g.
sccache[1]) for us lowly non-googlers.

We've been using this in Electron for several months[2].

[1]: https://github.com/mozilla/sccache
[2]: https://github.com/electron/electron/blob/d56617e5d009fc03f4faa684ca1e6fbe0e1d2e51/patches/common/chromium/windows_cc_wrapper.patch

Change-Id: I2de68eac93bfbf3343e04b3253330dfa28e6048b
Reviewed-on: https://chromium-review.googlesource.com/c/1343518
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: default avatarDirk Pranke <dpranke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609852}
parent 44b04cd6
......@@ -6,6 +6,7 @@ import("//build/config/clang/clang.gni")
import("//build/config/compiler/compiler.gni")
import("//build/config/sanitizers/sanitizers.gni")
import("//build/config/win/visual_studio_version.gni")
import("//build/toolchain/cc_wrapper.gni")
import("//build/toolchain/clang_static_analyzer.gni")
import("//build/toolchain/goma.gni")
import("//build/toolchain/toolchain.gni")
......@@ -28,8 +29,14 @@ if (use_goma) {
} else {
goma_prefix = "$goma_dir/gomacc "
}
clang_prefix = goma_prefix
} else {
goma_prefix = ""
if (cc_wrapper != "") {
clang_prefix = cc_wrapper + " "
} else {
clang_prefix = ""
}
}
# Copy the VS runtime DLL for the default toolchain to the root build directory
......@@ -209,7 +216,7 @@ template("msvc_toolchain") {
tool("asm") {
if (toolchain_args.current_cpu == "arm64") {
prefix = rebase_path("$clang_base_path/bin", root_build_dir)
ml = "${goma_prefix}${prefix}/${clang_cl} --target=arm64-windows"
ml = "${clang_prefix}${prefix}/${clang_cl} --target=arm64-windows"
} else {
if (toolchain_args.current_cpu == "x64") {
ml = "ml64.exe /nologo"
......@@ -397,7 +404,7 @@ if (win_build_host_cpu != "x64") {
msvc_toolchain("win_clang_" + win_build_host_cpu) {
environment = "environment." + win_build_host_cpu
prefix = rebase_path("$clang_base_path/bin", root_build_dir)
cl = "${goma_prefix}$prefix/${clang_cl}"
cl = "${clang_prefix}$prefix/${clang_cl}"
sys_include_flags = "${build_cpu_toolchain_data.include_flags_imsvc}"
if (host_os != "win") {
# For win cross build.
......@@ -449,7 +456,7 @@ template("win_64bit_toolchains") {
msvc_toolchain("win_clang_" + target_name) {
environment = "environment." + toolchain_arch
prefix = rebase_path("$clang_base_path/bin", root_build_dir)
cl = "${goma_prefix}$prefix/${clang_cl}"
cl = "${clang_prefix}$prefix/${clang_cl}"
if (toolchain_arch == "arm64") {
cl += " --target=arm64-windows"
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment