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

Side by Side Diff: build/toolchain/win/BUILD.gn

Issue 1409553003: [GN] Add solink_module tool on the Mac, Win, and GCC toolchains. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update win and gcc toolchains as well. Created 5 years, 2 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 unified diff | Download patch
« no previous file with comments | « build/toolchain/mac/BUILD.gn ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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 }
OLDNEW
« no previous file with comments | « build/toolchain/mac/BUILD.gn ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698