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 declare_args() { | 5 declare_args() { |
6 # Path to the directory containing the VC binaries for the right | 6 # Path to the directory containing the VC binaries for the right |
7 # combination of host and target architectures. Currently only the | 7 # combination of host and target architectures. Currently only the |
8 # 64-bit host toolchain is supported, with either 32-bit or 64-bit targets. | 8 # 64-bit host toolchain is supported, with either 32-bit or 64-bit targets. |
9 # If vc_bin_dir is not specified on the command line (and it normally | 9 # If vc_bin_dir is not specified on the command line (and it normally |
10 # isn't), we will dynamically determine the right value to use at runtime. | 10 # isn't), we will dynamically determine the right value to use at runtime. |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 # Since the above commands only updates the .lib file when it changes, ask | 167 # Since the above commands only updates the .lib file when it changes, ask |
168 # Ninja to check if the timestamp actually changed to know if downstream | 168 # Ninja to check if the timestamp actually changed to know if downstream |
169 # dependencies should be recompiled. | 169 # dependencies should be recompiled. |
170 restat = true | 170 restat = true |
171 | 171 |
172 # The use of inputs_newline is to work around a fixed per-line buffer | 172 # The use of inputs_newline is to work around a fixed per-line buffer |
173 # size in the linker. | 173 # size in the linker. |
174 rspfile_content = "{{libs}} {{solibs}} {{inputs_newline}} {{ldflags}}" | 174 rspfile_content = "{{libs}} {{solibs}} {{inputs_newline}} {{ldflags}}" |
175 } | 175 } |
176 | 176 |
| 177 tool("solink_module") { |
| 178 dllname = "{{root_out_dir}}/{{target_output_name}}{{output_extension}}" #
e.g. foo.dll |
| 179 rspfile = "${dllname}.rsp" |
| 180 |
| 181 link_command = "$python_path gyp-win-tool link-wrapper $env False link.exe
/nologo /DLL /OUT:$dllname /PDB:${dllname}.pdb @$rspfile" |
| 182 |
| 183 command = link_command |
| 184 |
| 185 default_output_extension = ".dll" |
| 186 description = "LINK_MODULE(DLL) {{output}}" |
| 187 outputs = [ |
| 188 dllname, |
| 189 ] |
| 190 |
| 191 # The use of inputs_newline is to work around a fixed per-line buffer |
| 192 # size in the linker. |
| 193 rspfile_content = "{{libs}} {{solibs}} {{inputs_newline}} {{ldflags}}" |
| 194 } |
| 195 |
177 tool("link") { | 196 tool("link") { |
178 rspfile = "{{output}}.rsp" | 197 rspfile = "{{output}}.rsp" |
179 | 198 |
180 link_command = "$python_path gyp-win-tool link-wrapper $env False link.exe
/nologo /OUT:{{output}} /PDB:{{output}}.pdb @$rspfile" | 199 link_command = "$python_path gyp-win-tool link-wrapper $env False link.exe
/nologo /OUT:{{output}} /PDB:{{output}}.pdb @$rspfile" |
181 | 200 |
182 # TODO(brettw) support manifests | 201 # TODO(brettw) support manifests |
183 #manifest_command = "$python_path gyp-win-tool manifest-wrapper $env mt.ex
e -nologo -manifest $manifests -out:{{output}}.manifest" | 202 #manifest_command = "$python_path gyp-win-tool manifest-wrapper $env mt.ex
e -nologo -manifest $manifests -out:{{output}}.manifest" |
184 #command = "cmd /c $link_command && $manifest_command" | 203 #command = "cmd /c $link_command && $manifest_command" |
185 command = link_command | 204 command = link_command |
186 | 205 |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
269 } | 288 } |
270 | 289 |
271 msvc_toolchain("winrt_x64") { | 290 msvc_toolchain("winrt_x64") { |
272 environment = "environment.winrt_x64" | 291 environment = "environment.winrt_x64" |
273 cl = "${goma_prefix}\"${vc_bin_dir}/cl.exe\"" | 292 cl = "${goma_prefix}\"${vc_bin_dir}/cl.exe\"" |
274 is_clang = false | 293 is_clang = false |
275 | 294 |
276 current_cpu = "x64" | 295 current_cpu = "x64" |
277 current_os = current_os | 296 current_os = current_os |
278 } | 297 } |
OLD | NEW |