| 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/clang/clang.gni") | 5 import("//build/config/clang/clang.gni") |
| 6 import("//build/config/sanitizers/sanitizers.gni") | 6 import("//build/config/sanitizers/sanitizers.gni") |
| 7 import("//build/config/win/visual_studio_version.gni") | 7 import("//build/config/win/visual_studio_version.gni") |
| 8 import("//build/toolchain/goma.gni") | 8 import("//build/toolchain/goma.gni") |
| 9 import("//build/toolchain/toolchain.gni") | 9 import("//build/toolchain/toolchain.gni") |
| 10 import("//build/toolchain/concurrent_links.gni") | 10 import("//build/toolchain/concurrent_links.gni") |
| (...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 261 | 261 |
| 262 # These share a name with global variables that are already defined, and | 262 # These share a name with global variables that are already defined, and |
| 263 # forward_variables_from won't clobber the existing value, so we need to | 263 # forward_variables_from won't clobber the existing value, so we need to |
| 264 # set it explicitly. | 264 # set it explicitly. |
| 265 if (defined(invoker.is_clang)) { | 265 if (defined(invoker.is_clang)) { |
| 266 is_clang = invoker.is_clang | 266 is_clang = invoker.is_clang |
| 267 } | 267 } |
| 268 if (defined(invoker.is_component_build)) { | 268 if (defined(invoker.is_component_build)) { |
| 269 is_component_build = invoker.is_component_build | 269 is_component_build = invoker.is_component_build |
| 270 } | 270 } |
| 271 if (defined(invoker.is_asan)) { |
| 272 is_asan = invoker.is_asan |
| 273 } |
| 271 | 274 |
| 272 # This value needs to be passed through unchanged. | 275 # This value needs to be passed through unchanged. |
| 273 host_toolchain = host_toolchain | 276 host_toolchain = host_toolchain |
| 274 } | 277 } |
| 275 } | 278 } |
| 276 } | 279 } |
| 277 | 280 |
| 278 if (is_clang) { | 281 if (is_clang) { |
| 279 sys_include_prefix = "-imsvc" | 282 sys_include_prefix = "-imsvc" |
| 280 } else { | 283 } else { |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 345 environment = "environment.x64" | 348 environment = "environment.x64" |
| 346 toolchain_cpu = "x64" | 349 toolchain_cpu = "x64" |
| 347 cl = "${goma_prefix}\"${x64_toolchain_data.vc_bin_dir}/cl.exe\"" | 350 cl = "${goma_prefix}\"${x64_toolchain_data.vc_bin_dir}/cl.exe\"" |
| 348 is_clang = false | 351 is_clang = false |
| 349 | 352 |
| 350 # This shares a name with a global and forward_variables_from won't clobber | 353 # This shares a name with a global and forward_variables_from won't clobber |
| 351 # the existing value, so we need to set it explicitly. | 354 # the existing value, so we need to set it explicitly. |
| 352 if (defined(invoker.is_component_build)) { | 355 if (defined(invoker.is_component_build)) { |
| 353 is_component_build = invoker.is_component_build | 356 is_component_build = invoker.is_component_build |
| 354 } | 357 } |
| 358 if (defined(invoker.is_asan)) { |
| 359 is_asan = invoker.is_asan |
| 360 } |
| 355 } | 361 } |
| 356 | 362 |
| 357 msvc_toolchain("clang_" + target_name) { | 363 msvc_toolchain("clang_" + target_name) { |
| 358 environment = "environment.x64" | 364 environment = "environment.x64" |
| 359 toolchain_cpu = "x64" | 365 toolchain_cpu = "x64" |
| 360 prefix = rebase_path("$clang_base_path/bin", root_build_dir) | 366 prefix = rebase_path("$clang_base_path/bin", root_build_dir) |
| 361 cl = "${goma_prefix}$prefix/${clang_cl}" | 367 cl = "${goma_prefix}$prefix/${clang_cl}" |
| 362 toolchain_os = "win" | 368 toolchain_os = "win" |
| 363 is_clang = true | 369 is_clang = true |
| 364 sys_include_flags = "${x64_toolchain_data.include_flags}" | 370 sys_include_flags = "${x64_toolchain_data.include_flags}" |
| 365 | 371 |
| 366 # This shares a name with a global and forward_variables_from won't clobber | 372 # This shares a name with a global and forward_variables_from won't clobber |
| 367 # the existing value, so we need to set it explicitly. | 373 # the existing value, so we need to set it explicitly. |
| 368 if (defined(invoker.is_component_build)) { | 374 if (defined(invoker.is_component_build)) { |
| 369 is_component_build = invoker.is_component_build | 375 is_component_build = invoker.is_component_build |
| 370 } | 376 } |
| 377 if (defined(invoker.is_asan)) { |
| 378 is_asan = invoker.is_asan |
| 379 } |
| 371 } | 380 } |
| 372 } | 381 } |
| 373 | 382 |
| 374 win_x64_toolchains("x64") { | 383 win_x64_toolchains("x64") { |
| 375 # TODO(mcgrathr): These assignments are only required because of | 384 # TODO(mcgrathr): These assignments are only required because of |
| 376 # crbug.com/395883. Drop them if that ever gets fixed in GN. | 385 # crbug.com/395883. Drop them if that ever gets fixed in GN. |
| 377 concurrent_links = concurrent_links | 386 concurrent_links = concurrent_links |
| 378 goma_prefix = goma_prefix | 387 goma_prefix = goma_prefix |
| 379 x64_toolchain_data = x64_toolchain_data | 388 x64_toolchain_data = x64_toolchain_data |
| 389 if (target_cpu == "x86") { |
| 390 is_asan = false |
| 391 } |
| 380 } | 392 } |
| 381 | 393 |
| 382 # The nacl_win64 toolchain is nearly identical to the plain x64 toolchain. | 394 # The nacl_win64 toolchain is nearly identical to the plain x64 toolchain. |
| 383 # It's used solely for building nacl64.exe (//components/nacl/broker:nacl64). | 395 # It's used solely for building nacl64.exe (//components/nacl/broker:nacl64). |
| 384 # The only reason it's a separate toolchain is so that it can force | 396 # The only reason it's a separate toolchain is so that it can force |
| 385 # is_component_build to false in the toolchain_args() block, because | 397 # is_component_build to false in the toolchain_args() block, because |
| 386 # building nacl64.exe in component style does not work. | 398 # building nacl64.exe in component style does not work. |
| 387 win_x64_toolchains("nacl_win64") { | 399 win_x64_toolchains("nacl_win64") { |
| 388 is_component_build = false | 400 is_component_build = false |
| 401 is_asan = false |
| 389 | 402 |
| 390 # TODO(mcgrathr): These assignments are only required because of | 403 # TODO(mcgrathr): These assignments are only required because of |
| 391 # crbug.com/395883. Drop them if that ever gets fixed in GN. | 404 # crbug.com/395883. Drop them if that ever gets fixed in GN. |
| 392 concurrent_links = concurrent_links | 405 concurrent_links = concurrent_links |
| 393 goma_prefix = goma_prefix | 406 goma_prefix = goma_prefix |
| 394 x64_toolchain_data = x64_toolchain_data | 407 x64_toolchain_data = x64_toolchain_data |
| 395 clang_cl = clang_cl | 408 clang_cl = clang_cl |
| 396 } | 409 } |
| 397 | 410 |
| 398 # WinRT toolchains. Only define these when targeting them. | 411 # WinRT toolchains. Only define these when targeting them. |
| (...skipping 14 matching lines...) Expand all Loading... |
| 413 | 426 |
| 414 msvc_toolchain("winrt_x64") { | 427 msvc_toolchain("winrt_x64") { |
| 415 environment = "environment.winrt_x64" | 428 environment = "environment.winrt_x64" |
| 416 cl = "${goma_prefix}\"${vc_bin_dir}/cl.exe\"" | 429 cl = "${goma_prefix}\"${vc_bin_dir}/cl.exe\"" |
| 417 is_clang = false | 430 is_clang = false |
| 418 | 431 |
| 419 toolchain_cpu = "x64" | 432 toolchain_cpu = "x64" |
| 420 toolchain_os = current_os | 433 toolchain_os = current_os |
| 421 } | 434 } |
| 422 } | 435 } |
| OLD | NEW |