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

Unified Diff: build/toolchain/win/BUILD.gn

Issue 1580723006: GN: Use special toolchain for nacl64.exe, force is_component_build off (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased Created 4 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | components/nacl/broker/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/toolchain/win/BUILD.gn
diff --git a/build/toolchain/win/BUILD.gn b/build/toolchain/win/BUILD.gn
index 4fb72797d5f279cccb8b68c257a25fccd33725e0..5d1340ce7f58eecce5bbb6a7eb42824ff6fd9fe9 100644
--- a/build/toolchain/win/BUILD.gn
+++ b/build/toolchain/win/BUILD.gn
@@ -225,9 +225,12 @@ template("msvc_toolchain") {
if (defined(invoker.toolchain_os)) {
current_os = invoker.toolchain_os
}
- if (defined(invoker.is_clang)) {
- is_clang = invoker.is_clang
- }
+
+ forward_variables_from(invoker,
+ [
+ "is_clang",
+ "is_component_build",
+ ])
# This value needs to be passed through unchanged.
host_toolchain = host_toolchain
@@ -284,21 +287,56 @@ x64_toolchain_data = exec_script("setup_toolchain.py",
],
"scope")
-msvc_toolchain("x64") {
- environment = "environment.x64"
- toolchain_cpu = "x64"
- cl = "${goma_prefix}\"${x64_toolchain_data.vc_bin_dir}/cl.exe\""
- is_clang = false
+template("win_x64_toolchains") {
+ # TODO(mcgrathr): These assignments are only required because of
+ # crbug.com/395883. Drop them if that ever gets fixed in GN.
+ concurrent_links = invoker.concurrent_links
+ goma_prefix = invoker.goma_prefix
+ x64_toolchain_data = invoker.x64_toolchain_data
+
+ msvc_toolchain(target_name) {
+ environment = "environment.x64"
+ toolchain_cpu = "x64"
+ cl = "${goma_prefix}\"${x64_toolchain_data.vc_bin_dir}/cl.exe\""
+ is_clang = false
+
+ forward_variables_from(invoker, [ "is_component_build" ])
+ }
+
+ msvc_toolchain("clang_" + target_name) {
+ environment = "environment.x64"
+ toolchain_cpu = "x64"
+ prefix = rebase_path("//third_party/llvm-build/Release+Asserts/bin",
+ root_build_dir)
+ cl = "${goma_prefix}$prefix/${clang_cl}"
+ toolchain_os = "win"
+ is_clang = true
+
+ forward_variables_from(invoker, [ "is_component_build" ])
+ }
+}
+
+win_x64_toolchains("x64") {
+ # TODO(mcgrathr): These assignments are only required because of
+ # crbug.com/395883. Drop them if that ever gets fixed in GN.
+ concurrent_links = concurrent_links
+ goma_prefix = goma_prefix
+ x64_toolchain_data = x64_toolchain_data
}
-msvc_toolchain("clang_x64") {
- environment = "environment.x64"
- toolchain_cpu = "x64"
- prefix = rebase_path("//third_party/llvm-build/Release+Asserts/bin",
- root_build_dir)
- cl = "${goma_prefix}$prefix/${clang_cl}"
- toolchain_os = "win"
- is_clang = true
+# The nacl_win64 toolchain is nearly identical to the plain x64 toolchain.
+# It's used solely for building nacl64.exe (//components/nacl/broker:nacl64).
+# The only reason it's a separate toolchain is so that it can force
+# is_component_build to false in the toolchain_args() block, because
+# building nacl64.exe in component style does not work.
+win_x64_toolchains("nacl_win64") {
+ is_component_build = false
+
+ # TODO(mcgrathr): These assignments are only required because of
+ # crbug.com/395883. Drop them if that ever gets fixed in GN.
+ concurrent_links = concurrent_links
+ goma_prefix = goma_prefix
+ x64_toolchain_data = x64_toolchain_data
Dirk Pranke 2016/01/26 01:42:41 I'm not actually convinced that using the win_x64_
}
# WinRT toolchains. Only define these when targeting them.
« no previous file with comments | « no previous file | components/nacl/broker/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698