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

Side by Side Diff: build/toolchain/gcc_toolchain.gni

Issue 2848943003: [infra] Assembles the SDK using GN rather than create_sdk.py (Closed)
Patch Set: Move copy_dev_compiler_tools out of the default full SDK build Created 3 years, 7 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/copy_tree.gni ('k') | build/toolchain/linux/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 # This value will be inherited in the toolchain below. 5 # This value will be inherited in the toolchain below.
6 concurrent_links = exec_script("get_concurrent_links.py", [], "value") 6 concurrent_links = exec_script("get_concurrent_links.py", [], "value")
7 7
8 # This template defines a toolchain for something that works like gcc 8 # This template defines a toolchain for something that works like gcc
9 # (including clang). 9 # (including clang).
10 # 10 #
(...skipping 20 matching lines...) Expand all
31 # - solink_libs_section_postfix 31 # - solink_libs_section_postfix
32 # Same as libs_section_{pre,post}fix except used for solink instead of link . 32 # Same as libs_section_{pre,post}fix except used for solink instead of link .
33 # - post_solink 33 # - post_solink
34 # The content of this string, if specified, will be appended to the solink 34 # The content of this string, if specified, will be appended to the solink
35 # command. 35 # command.
36 # - deps 36 # - deps
37 # Just forwarded to the toolchain definition. 37 # Just forwarded to the toolchain definition.
38 # - is_clang 38 # - is_clang
39 # - strip 39 # - strip
40 # Location of the strip executable. When specified, strip will be run on 40 # Location of the strip executable. When specified, strip will be run on
41 # all shared libraries and executables as they are built. The pre-stripped 41 # all executables as they are built. The stripped artifacts will be put in
42 # artifacts will be put in lib.stripped/ and exe.stripped/. 42 # exe.stripped/.
43 template("gcc_toolchain") { 43 template("gcc_toolchain") {
44 toolchain(target_name) { 44 toolchain(target_name) {
45 assert(defined(invoker.cc), "gcc_toolchain() must specify a \"cc\" value") 45 assert(defined(invoker.cc), "gcc_toolchain() must specify a \"cc\" value")
46 assert(defined(invoker.cxx), "gcc_toolchain() must specify a \"cxx\" value") 46 assert(defined(invoker.cxx), "gcc_toolchain() must specify a \"cxx\" value")
47 assert(defined(invoker.ar), "gcc_toolchain() must specify a \"ar\" value") 47 assert(defined(invoker.ar), "gcc_toolchain() must specify a \"ar\" value")
48 assert(defined(invoker.ld), "gcc_toolchain() must specify a \"ld\" value") 48 assert(defined(invoker.ld), "gcc_toolchain() must specify a \"ld\" value")
49 assert(defined(invoker.readelf), 49 assert(defined(invoker.readelf),
50 "gcc_toolchain() must specify a \"readelf\" value") 50 "gcc_toolchain() must specify a \"readelf\" value")
51 assert(defined(invoker.nm), "gcc_toolchain() must specify a \"nm\" value") 51 assert(defined(invoker.nm), "gcc_toolchain() must specify a \"nm\" value")
52 assert(defined(invoker.toolchain_cpu), 52 assert(defined(invoker.toolchain_cpu),
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 outputs += invoker.solink_outputs 185 outputs += invoker.solink_outputs
186 } 186 }
187 link_output = sofile 187 link_output = sofile
188 depend_output = tocfile 188 depend_output = tocfile
189 } 189 }
190 190
191 tool("link") { 191 tool("link") {
192 exename = "{{target_output_name}}{{output_extension}}" 192 exename = "{{target_output_name}}{{output_extension}}"
193 outfile = "{{root_out_dir}}/$exename" 193 outfile = "{{root_out_dir}}/$exename"
194 rspfile = "$outfile.rsp" 194 rspfile = "$outfile.rsp"
195 unstripped_outfile = outfile
196 195
197 if (defined(invoker.strip)) { 196 if (defined(invoker.strip)) {
198 unstripped_outfile = "{{root_out_dir}}/exe.unstripped/$exename" 197 stripped_outfile = "{{root_out_dir}}/exe.stripped/$exename"
199 } 198 }
200 199
201 command = "$ld {{ldflags}} -o $unstripped_outfile -Wl,--start-group @$rspf ile {{solibs}} -Wl,--end-group $libs_section_prefix {{libs}} $libs_section_postf ix" 200 command = "$ld {{ldflags}} -o $outfile -Wl,--start-group @$rspfile {{solib s}} -Wl,--end-group $libs_section_prefix {{libs}} $libs_section_postfix"
202 if (defined(invoker.strip)) { 201 if (defined(invoker.strip)) {
203 strip = invoker.strip 202 strip = invoker.strip
204 strip_command = 203 strip_command =
205 "${strip} --strip-unneeded -o $outfile $unstripped_outfile" 204 "${strip} --strip-unneeded -o $stripped_outfile $outfile"
206 command += " && " + strip_command 205 command += " && " + strip_command
207 } 206 }
208 if (defined(invoker.postlink)) { 207 if (defined(invoker.postlink)) {
209 command += " && " + invoker.postlink 208 command += " && " + invoker.postlink
210 } 209 }
211 description = "LINK $outfile" 210 description = "LINK $outfile"
212 rspfile_content = "{{inputs}}" 211 rspfile_content = "{{inputs}}"
213 outputs = [ 212 outputs = [
214 outfile, 213 outfile,
215 ] 214 ]
216 if (outfile != unstripped_outfile) { 215 if (defined(invoker.strip)) {
217 outputs += [ unstripped_outfile ] 216 outputs += [ stripped_outfile ]
218 } 217 }
219 if (defined(invoker.link_outputs)) { 218 if (defined(invoker.link_outputs)) {
220 outputs += invoker.link_outputs 219 outputs += invoker.link_outputs
221 } 220 }
222 } 221 }
223 222
224 tool("stamp") { 223 tool("stamp") {
225 command = "touch {{output}}" 224 command = "touch {{output}}"
226 description = "STAMP {{output}}" 225 description = "STAMP {{output}}"
227 } 226 }
(...skipping 16 matching lines...) Expand all
244 if (defined(invoker.is_clang)) { 243 if (defined(invoker.is_clang)) {
245 is_clang = invoker.is_clang 244 is_clang = invoker.is_clang
246 } 245 }
247 } 246 }
248 247
249 if (defined(invoker.deps)) { 248 if (defined(invoker.deps)) {
250 deps = invoker.deps 249 deps = invoker.deps
251 } 250 }
252 } 251 }
253 } 252 }
OLDNEW
« no previous file with comments | « build/copy_tree.gni ('k') | build/toolchain/linux/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698