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

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

Issue 774353003: gn format // (the rest) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase net Created 6 years 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/nacl/BUILD.gn ('k') | build/util/BUILD.gn » ('j') | 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 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 cl = "${goma_prefix}\"${vc_bin_dir}/cl.exe\"" 74 cl = "${goma_prefix}\"${vc_bin_dir}/cl.exe\""
75 75
76 toolchain(target_name) { 76 toolchain(target_name) {
77 # Make these apply to all tools below. 77 # Make these apply to all tools below.
78 lib_switch = "" 78 lib_switch = ""
79 lib_dir_switch = "/LIBPATH:" 79 lib_dir_switch = "/LIBPATH:"
80 80
81 tool("cc") { 81 tool("cc") {
82 rspfile = "{{output}}.rsp" 82 rspfile = "{{output}}.rsp"
83 pdbname = "{{target_out_dir}}/{{target_output_name}}_c.pdb" 83 pdbname = "{{target_out_dir}}/{{target_output_name}}_c.pdb"
84 command = 84 command = "ninja -t msvc -e $env -- $cl /nologo /showIncludes /FC @$rspfil e /c {{source}} /Fo{{output}} /Fd$pdbname"
85 "ninja -t msvc -e $env -- $cl /nologo /showIncludes /FC @$rspfile /c { {source}} /Fo{{output}} /Fd$pdbname"
86 depsformat = "msvc" 85 depsformat = "msvc"
87 description = "CC {{output}}" 86 description = "CC {{output}}"
88 outputs = 87 outputs = [
89 [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.obj" ] 88 "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.obj",
89 ]
90 rspfile_content = "{{defines}} {{include_dirs}} {{cflags}} {{cflags_c}}" 90 rspfile_content = "{{defines}} {{include_dirs}} {{cflags}} {{cflags_c}}"
91 } 91 }
92 92
93 tool("cxx") { 93 tool("cxx") {
94 rspfile = "{{output}}.rsp" 94 rspfile = "{{output}}.rsp"
95 95
96 # The PDB name needs to be different between C and C++ compiled files. 96 # The PDB name needs to be different between C and C++ compiled files.
97 pdbname = "{{target_out_dir}}/{{target_output_name}}_cc.pdb" 97 pdbname = "{{target_out_dir}}/{{target_output_name}}_cc.pdb"
98 command = 98 command = "ninja -t msvc -e $env -- $cl /nologo /showIncludes /FC @$rspfil e /c {{source}} /Fo{{output}} /Fd$pdbname"
99 "ninja -t msvc -e $env -- $cl /nologo /showIncludes /FC @$rspfile /c { {source}} /Fo{{output}} /Fd$pdbname"
100 depsformat = "msvc" 99 depsformat = "msvc"
101 description = "CXX {{output}}" 100 description = "CXX {{output}}"
102 outputs = 101 outputs = [
103 [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.obj" ] 102 "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.obj",
103 ]
104 rspfile_content = "{{defines}} {{include_dirs}} {{cflags}} {{cflags_c}}" 104 rspfile_content = "{{defines}} {{include_dirs}} {{cflags}} {{cflags_c}}"
105 } 105 }
106 106
107 tool("rc") { 107 tool("rc") {
108 command = 108 command = "$python_path gyp-win-tool rc-wrapper $env rc.exe {{defines}} {{ include_dirs}} /fo{{output}} {{source}}"
109 "$python_path gyp-win-tool rc-wrapper $env rc.exe {{defines}} {{includ e_dirs}} /fo{{output}} {{source}}" 109 outputs = [
110 outputs = 110 "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.res",
111 [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.res" ] 111 ]
112 description = "RC {{output}}" 112 description = "RC {{output}}"
113 } 113 }
114 114
115 tool("asm") { 115 tool("asm") {
116 # TODO(brettw): "/safeseh" assembler argument is hardcoded here. Extract 116 # TODO(brettw): "/safeseh" assembler argument is hardcoded here. Extract
117 # assembler flags to a variable like cflags. crbug.com/418613 117 # assembler flags to a variable like cflags. crbug.com/418613
118 command = 118 command = "$python_path gyp-win-tool asm-wrapper $env ml.exe {{defines}} { {include_dirs}} /safeseh /c /Fo {{output}} {{source}}"
119 "$python_path gyp-win-tool asm-wrapper $env ml.exe {{defines}} {{inclu de_dirs}} /safeseh /c /Fo {{output}} {{source}}"
120 description = "ASM {{output}}" 119 description = "ASM {{output}}"
121 outputs = 120 outputs = [
122 [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.obj" ] 121 "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.obj",
122 ]
123 } 123 }
124 124
125 tool("alink") { 125 tool("alink") {
126 rspfile = "{{output}}.rsp" 126 rspfile = "{{output}}.rsp"
127 command = 127 command = "$python_path gyp-win-tool link-wrapper $env False lib.exe /nolo go /ignore:4221 /OUT:{{output}} @$rspfile"
128 "$python_path gyp-win-tool link-wrapper $env False lib.exe /nologo /ig nore:4221 /OUT:{{output}} @$rspfile"
129 description = "LIB {{output}}" 128 description = "LIB {{output}}"
130 outputs = [ 129 outputs = [
131 # Ignore {{output_extension}} and always use .lib, there's no reason to 130 # Ignore {{output_extension}} and always use .lib, there's no reason to
132 # allow targets to override this extension on Windows. 131 # allow targets to override this extension on Windows.
133 "{{target_out_dir}}/{{target_output_name}}.lib", 132 "{{target_out_dir}}/{{target_output_name}}.lib",
134 ] 133 ]
135 default_output_extension = ".lib" 134 default_output_extension = ".lib"
136 135
137 # The use of inputs_newline is to work around a fixed per-line buffer 136 # The use of inputs_newline is to work around a fixed per-line buffer
138 # size in the linker. 137 # size in the linker.
139 rspfile_content = "{{inputs_newline}}" 138 rspfile_content = "{{inputs_newline}}"
140 } 139 }
141 140
142 tool("solink") { 141 tool("solink") {
143 dllname = "{{root_out_dir}}/{{target_output_name}}{{output_extension}}" # e.g. foo.dll 142 dllname = "{{root_out_dir}}/{{target_output_name}}{{output_extension}}" # e.g. foo.dll
144 libname = 143 libname =
145 "{{root_out_dir}}/{{target_output_name}}{{output_extension}}.lib" # e .g. foo.dll.lib 144 "{{root_out_dir}}/{{target_output_name}}{{output_extension}}.lib" # e .g. foo.dll.lib
146 rspfile = "${dllname}.rsp" 145 rspfile = "${dllname}.rsp"
147 146
148 link_command = 147 link_command = "$python_path gyp-win-tool link-wrapper $env False link.exe /nologo /IMPLIB:$libname /DLL /OUT:$dllname /PDB:${dllname}.pdb @$rspfile"
149 "$python_path gyp-win-tool link-wrapper $env False link.exe /nologo /I MPLIB:$libname /DLL /OUT:$dllname /PDB:${dllname}.pdb @$rspfile"
150 148
151 # TODO(brettw) support manifests 149 # TODO(brettw) support manifests
152 #manifest_command = "$python_path gyp-win-tool manifest-wrapper $env mt.ex e -nologo -manifest $manifests -out:${dllname}.manifest" 150 #manifest_command = "$python_path gyp-win-tool manifest-wrapper $env mt.ex e -nologo -manifest $manifests -out:${dllname}.manifest"
153 #command = "cmd /c $link_command && $manifest_command" 151 #command = "cmd /c $link_command && $manifest_command"
154 command = link_command 152 command = link_command
155 153
156 default_output_extension = ".dll" 154 default_output_extension = ".dll"
157 description = "LINK(DLL) {{output}}" 155 description = "LINK(DLL) {{output}}"
158 outputs = [ 156 outputs = [
159 dllname, 157 dllname,
160 libname, 158 libname,
161 ] 159 ]
162 link_output = libname 160 link_output = libname
163 depend_output = libname 161 depend_output = libname
164 162
165 # The use of inputs_newline is to work around a fixed per-line buffer 163 # The use of inputs_newline is to work around a fixed per-line buffer
166 # size in the linker. 164 # size in the linker.
167 rspfile_content = "{{libs}} {{solibs}} {{inputs_newline}} {{ldflags}}" 165 rspfile_content = "{{libs}} {{solibs}} {{inputs_newline}} {{ldflags}}"
168 } 166 }
169 167
170 tool("link") { 168 tool("link") {
171 rspfile = "{{output}}.rsp" 169 rspfile = "{{output}}.rsp"
172 170
173 link_command = 171 link_command = "$python_path gyp-win-tool link-wrapper $env False link.exe /nologo /OUT:{{output}} /PDB:{{output}}.pdb @$rspfile"
174 "$python_path gyp-win-tool link-wrapper $env False link.exe /nologo /O UT:{{output}} /PDB:{{output}}.pdb @$rspfile"
175 172
176 # TODO(brettw) support manifests 173 # TODO(brettw) support manifests
177 #manifest_command = "$python_path gyp-win-tool manifest-wrapper $env mt.ex e -nologo -manifest $manifests -out:{{output}}.manifest" 174 #manifest_command = "$python_path gyp-win-tool manifest-wrapper $env mt.ex e -nologo -manifest $manifests -out:{{output}}.manifest"
178 #command = "cmd /c $link_command && $manifest_command" 175 #command = "cmd /c $link_command && $manifest_command"
179 command = link_command 176 command = link_command
180 177
181 default_output_extension = ".exe" 178 default_output_extension = ".exe"
182 description = "LINK {{output}}" 179 description = "LINK {{output}}"
183 outputs = 180 outputs = [
184 [ "{{root_out_dir}}/{{target_output_name}}{{output_extension}}" ] 181 "{{root_out_dir}}/{{target_output_name}}{{output_extension}}",
182 ]
185 183
186 # The use of inputs_newline is to work around a fixed per-line buffer 184 # The use of inputs_newline is to work around a fixed per-line buffer
187 # size in the linker. 185 # size in the linker.
188 rspfile_content = "{{inputs_newline}} {{libs}} {{solibs}} {{ldflags}}" 186 rspfile_content = "{{inputs_newline}} {{libs}} {{solibs}} {{ldflags}}"
189 } 187 }
190 188
191 tool("stamp") { 189 tool("stamp") {
192 command = "$python_path gyp-win-tool stamp {{output}}" 190 command = "$python_path gyp-win-tool stamp {{output}}"
193 description = "STAMP {{output}}" 191 description = "STAMP {{output}}"
194 } 192 }
(...skipping 22 matching lines...) Expand all
217 cpu_arch = "x86" 215 cpu_arch = "x86"
218 } 216 }
219 } 217 }
220 218
221 if (cpu_arch == "x64") { 219 if (cpu_arch == "x64") {
222 msvc_toolchain("64") { 220 msvc_toolchain("64") {
223 environment = "environment.x64" 221 environment = "environment.x64"
224 cpu_arch = "x64" 222 cpu_arch = "x64"
225 } 223 }
226 } 224 }
OLDNEW
« no previous file with comments | « build/toolchain/nacl/BUILD.gn ('k') | build/util/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698