| 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/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/goma.gni") | 9 import("//build/toolchain/goma.gni") |
| 10 import("//build/toolchain/toolchain.gni") | 10 import("//build/toolchain/toolchain.gni") |
| (...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 278 | 278 |
| 279 # These share a name with global variables that are already defined, and | 279 # These share a name with global variables that are already defined, and |
| 280 # forward_variables_from won't clobber the existing value, so we need to | 280 # forward_variables_from won't clobber the existing value, so we need to |
| 281 # set it explicitly. | 281 # set it explicitly. |
| 282 if (defined(invoker.is_clang)) { | 282 if (defined(invoker.is_clang)) { |
| 283 is_clang = invoker.is_clang | 283 is_clang = invoker.is_clang |
| 284 } | 284 } |
| 285 if (defined(invoker.is_component_build)) { | 285 if (defined(invoker.is_component_build)) { |
| 286 is_component_build = invoker.is_component_build | 286 is_component_build = invoker.is_component_build |
| 287 } | 287 } |
| 288 if (defined(invoker.is_asan)) { |
| 289 is_asan = invoker.is_asan |
| 290 } |
| 288 | 291 |
| 289 # This value needs to be passed through unchanged. | 292 # This value needs to be passed through unchanged. |
| 290 host_toolchain = host_toolchain | 293 host_toolchain = host_toolchain |
| 291 } | 294 } |
| 292 } | 295 } |
| 293 } | 296 } |
| 294 | 297 |
| 295 if (is_clang) { | 298 if (is_clang) { |
| 296 sys_include_prefix = "-imsvc" | 299 sys_include_prefix = "-imsvc" |
| 297 } else { | 300 } else { |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 362 environment = "environment.x64" | 365 environment = "environment.x64" |
| 363 toolchain_cpu = "x64" | 366 toolchain_cpu = "x64" |
| 364 cl = "${goma_prefix}\"${x64_toolchain_data.vc_bin_dir}/cl.exe\"" | 367 cl = "${goma_prefix}\"${x64_toolchain_data.vc_bin_dir}/cl.exe\"" |
| 365 is_clang = false | 368 is_clang = false |
| 366 | 369 |
| 367 # This shares a name with a global and forward_variables_from won't clobber | 370 # This shares a name with a global and forward_variables_from won't clobber |
| 368 # the existing value, so we need to set it explicitly. | 371 # the existing value, so we need to set it explicitly. |
| 369 if (defined(invoker.is_component_build)) { | 372 if (defined(invoker.is_component_build)) { |
| 370 is_component_build = invoker.is_component_build | 373 is_component_build = invoker.is_component_build |
| 371 } | 374 } |
| 375 if (defined(invoker.is_asan)) { |
| 376 is_asan = invoker.is_asan |
| 377 } |
| 372 } | 378 } |
| 373 | 379 |
| 374 msvc_toolchain("clang_" + target_name) { | 380 msvc_toolchain("clang_" + target_name) { |
| 375 environment = "environment.x64" | 381 environment = "environment.x64" |
| 376 toolchain_cpu = "x64" | 382 toolchain_cpu = "x64" |
| 377 prefix = rebase_path("$clang_base_path/bin", root_build_dir) | 383 prefix = rebase_path("$clang_base_path/bin", root_build_dir) |
| 378 cl = "${goma_prefix}$prefix/${clang_cl}" | 384 cl = "${goma_prefix}$prefix/${clang_cl}" |
| 379 toolchain_os = "win" | 385 toolchain_os = "win" |
| 380 is_clang = true | 386 is_clang = true |
| 381 sys_include_flags = "${x64_toolchain_data.include_flags}" | 387 sys_include_flags = "${x64_toolchain_data.include_flags}" |
| 382 | 388 |
| 383 # This shares a name with a global and forward_variables_from won't clobber | 389 # This shares a name with a global and forward_variables_from won't clobber |
| 384 # the existing value, so we need to set it explicitly. | 390 # the existing value, so we need to set it explicitly. |
| 385 if (defined(invoker.is_component_build)) { | 391 if (defined(invoker.is_component_build)) { |
| 386 is_component_build = invoker.is_component_build | 392 is_component_build = invoker.is_component_build |
| 387 } | 393 } |
| 394 if (defined(invoker.is_asan)) { |
| 395 is_asan = invoker.is_asan |
| 396 } |
| 388 } | 397 } |
| 389 } | 398 } |
| 390 | 399 |
| 391 win_x64_toolchains("x64") { | 400 win_x64_toolchains("x64") { |
| 392 # TODO(mcgrathr): These assignments are only required because of | 401 # TODO(mcgrathr): These assignments are only required because of |
| 393 # crbug.com/395883. Drop them if that ever gets fixed in GN. | 402 # crbug.com/395883. Drop them if that ever gets fixed in GN. |
| 394 concurrent_links = concurrent_links | 403 concurrent_links = concurrent_links |
| 395 goma_prefix = goma_prefix | 404 goma_prefix = goma_prefix |
| 396 x64_toolchain_data = x64_toolchain_data | 405 x64_toolchain_data = x64_toolchain_data |
| 406 if (target_cpu == "x86") { |
| 407 is_asan = false |
| 408 } |
| 397 } | 409 } |
| 398 | 410 |
| 399 # The nacl_win64 toolchain is nearly identical to the plain x64 toolchain. | 411 # The nacl_win64 toolchain is nearly identical to the plain x64 toolchain. |
| 400 # It's used solely for building nacl64.exe (//components/nacl/broker:nacl64). | 412 # It's used solely for building nacl64.exe (//components/nacl/broker:nacl64). |
| 401 # The only reason it's a separate toolchain is so that it can force | 413 # The only reason it's a separate toolchain is so that it can force |
| 402 # is_component_build to false in the toolchain_args() block, because | 414 # is_component_build to false in the toolchain_args() block, because |
| 403 # building nacl64.exe in component style does not work. | 415 # building nacl64.exe in component style does not work. |
| 404 win_x64_toolchains("nacl_win64") { | 416 win_x64_toolchains("nacl_win64") { |
| 405 is_component_build = false | 417 is_component_build = false |
| 418 is_asan = false |
| 406 | 419 |
| 407 # TODO(mcgrathr): These assignments are only required because of | 420 # TODO(mcgrathr): These assignments are only required because of |
| 408 # crbug.com/395883. Drop them if that ever gets fixed in GN. | 421 # crbug.com/395883. Drop them if that ever gets fixed in GN. |
| 409 concurrent_links = concurrent_links | 422 concurrent_links = concurrent_links |
| 410 goma_prefix = goma_prefix | 423 goma_prefix = goma_prefix |
| 411 x64_toolchain_data = x64_toolchain_data | 424 x64_toolchain_data = x64_toolchain_data |
| 412 clang_cl = clang_cl | 425 clang_cl = clang_cl |
| 413 } | 426 } |
| 414 | 427 |
| 415 # WinRT toolchains. Only define these when targeting them. | 428 # WinRT toolchains. Only define these when targeting them. |
| (...skipping 14 matching lines...) Expand all Loading... |
| 430 | 443 |
| 431 msvc_toolchain("winrt_x64") { | 444 msvc_toolchain("winrt_x64") { |
| 432 environment = "environment.winrt_x64" | 445 environment = "environment.winrt_x64" |
| 433 cl = "${goma_prefix}\"${vc_bin_dir}/cl.exe\"" | 446 cl = "${goma_prefix}\"${vc_bin_dir}/cl.exe\"" |
| 434 is_clang = false | 447 is_clang = false |
| 435 | 448 |
| 436 toolchain_cpu = "x64" | 449 toolchain_cpu = "x64" |
| 437 toolchain_os = current_os | 450 toolchain_os = current_os |
| 438 } | 451 } |
| 439 } | 452 } |
| OLD | NEW |