Chromium Code Reviews| Index: build/toolchain/win/BUILD.gn |
| diff --git a/build/toolchain/win/BUILD.gn b/build/toolchain/win/BUILD.gn |
| index 1934e9b19ad43287d8435364e318d8dd0b4b3d8f..be54376b9c4558a2f49439ea9dbcdcd26205884a 100644 |
| --- a/build/toolchain/win/BUILD.gn |
| +++ b/build/toolchain/win/BUILD.gn |
| @@ -61,6 +61,7 @@ template("msvc_toolchain") { |
| env = invoker.environment |
| cl = invoker.cl |
| + include_flags = invoker.include_flags |
| toolchain(target_name) { |
| # Make these apply to all tools below. |
| @@ -74,7 +75,7 @@ template("msvc_toolchain") { |
| rspfile = "{{output}}.rsp" |
| precompiled_header_type = "msvc" |
| pdbname = "{{target_out_dir}}/{{label_name}}_c.pdb" |
| - command = "ninja -t msvc -e $env -- $cl /nologo /showIncludes /FC @$rspfile /c {{source}} /Fo{{output}} /Fd$pdbname" |
| + command = "$cl /nologo $include_flags /showIncludes /FC @$rspfile /c {{source}} /Fo{{output}} /Fd$pdbname" |
|
scottmg
2016/02/25 03:40:15
I don't understand how cl.exe gets PATH to be set
Nico
2016/02/25 03:45:41
We don't need the path. cl is set to `cl = "${goma
scottmg
2016/02/25 18:16:23
Are you sure? Looking in VC\bin\amd64_x86, there's
|
| depsformat = "msvc" |
| description = "CC {{output}}" |
| outputs = [ |
| @@ -89,7 +90,7 @@ template("msvc_toolchain") { |
| # The PDB name needs to be different between C and C++ compiled files. |
| pdbname = "{{target_out_dir}}/{{label_name}}_cc.pdb" |
| - command = "ninja -t msvc -e $env -- $cl /nologo /showIncludes /FC @$rspfile /c {{source}} /Fo{{output}} /Fd$pdbname" |
| + command = "$cl /nologo $include_flags /showIncludes /FC @$rspfile /c {{source}} /Fo{{output}} /Fd$pdbname" |
| depsformat = "msvc" |
| description = "CXX {{output}}" |
| outputs = [ |
| @@ -239,6 +240,13 @@ template("msvc_toolchain") { |
| } |
| } |
| +if (is_clang) { |
| + sys_include_prefix = "-isystem=" |
| +} else { |
| + # MSVC doesn't have the concept of system headers. |
| + sys_include_prefix = "/I" |
| +} |
| + |
| if (host_os == "win") { |
| clang_cl = "clang-cl.exe" |
| } else { |
| @@ -256,6 +264,7 @@ if (target_cpu == "x86") { |
| windows_sdk_path, |
| visual_studio_runtime_dirs, |
| "x86", |
| + "${sys_include_prefix}", |
| ], |
| "scope") |
| @@ -264,6 +273,7 @@ if (target_cpu == "x86") { |
| toolchain_cpu = "x86" |
| cl = "${goma_prefix}\"${x86_toolchain_data.vc_bin_dir}/cl.exe\"" |
| is_clang = false |
| + include_flags = "${x86_toolchain_data.include_flags}" |
| } |
| msvc_toolchain("clang_x86") { |
| @@ -274,6 +284,7 @@ if (target_cpu == "x86") { |
| cl = "${goma_prefix}$prefix/${clang_cl}" |
| toolchain_os = "win" |
| is_clang = true |
| + include_flags = "${x86_toolchain_data.include_flags}" |
| } |
| } |
| @@ -285,6 +296,7 @@ x64_toolchain_data = exec_script("setup_toolchain.py", |
| windows_sdk_path, |
| visual_studio_runtime_dirs, |
| "x64", |
| + "${sys_include_prefix}", |
| ], |
| "scope") |
| @@ -301,6 +313,7 @@ template("win_x64_toolchains") { |
| toolchain_cpu = "x64" |
| cl = "${goma_prefix}\"${x64_toolchain_data.vc_bin_dir}/cl.exe\"" |
| is_clang = false |
| + include_flags = "${x64_toolchain_data.include_flags}" |
| forward_variables_from(invoker, [ "is_component_build" ]) |
| } |
| @@ -313,6 +326,7 @@ template("win_x64_toolchains") { |
| cl = "${goma_prefix}$prefix/${clang_cl}" |
| toolchain_os = "win" |
| is_clang = true |
| + include_flags = "${x64_toolchain_data.include_flags}" |
| forward_variables_from(invoker, [ "is_component_build" ]) |
| } |