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

Side by Side Diff: build/config/symlink.gni

Issue 1516533002: GN: Add symlink rules for dump_syms, symupload (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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 | « breakpad/BUILD.gn ('k') | tools/android/forwarder2/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
(Empty)
1 # Copyright 2015 The Chromium Authors. All rights reserved.
brettw 2015/12/10 00:12:21 This file should go with the script, so build/syml
agrieve 2015/12/10 11:07:38 Done.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 # Creates a symlink.
6 # Args:
7 # to: Path to link to.
8 # from: Path to link from (default=root_out_dir/target_name)
9 template("symlink") {
brettw 2015/12/10 00:12:21 I think it would be nice if this mirrored the "cop
agrieve 2015/12/10 11:07:38 Done.
10 action(target_name) {
11 forward_variables_from(invoker,
12 [
13 "deps",
14 "public_deps",
15 "data_deps",
16 "testonly",
17 "visibility",
18 ])
19 _to = invoker.to
brettw 2015/12/10 00:12:21 I find the underscores weird to read and they don'
agrieve 2015/12/10 11:07:38 This pattern is actually fairly common, at least w
20
21 if (defined(invoker.from)) {
22 _from = invoker.from
23 } else {
24 _from = "$root_out_dir/${invoker.target_name}"
25 }
26
27 # TODO(agrieve): Declaring the output as _from triggers a
brettw 2015/12/10 00:12:21 Fix: https://codereview.chromium.org/1506343003 W
agrieve 2015/12/10 11:07:38 Great! I cherry-picked this change into a test bra
28 # "multiple rules generate foo" warning in ninja when there is a target with
29 # the same name in a different toolchain
30 _stamp = "$target_gen_dir/$target_name.stamp"
31 outputs = [
32 _stamp,
33 ]
34 script = "//build/symlink.py"
35 args = [
36 "-f",
37 "--touch",
38 rebase_path(_stamp, root_build_dir),
39 rebase_path(_to, get_path_info(_from, "dir")),
40 rebase_path(_from, root_build_dir),
41 ]
42 }
43 }
44
45 # Creates a convenience symlink from root_build_dir/target_name to
46 # host_tool_chain/target_name.
47 # Note that for executables, using a copy (as opposed to a symlink) does not
48 # work when is_component_build=true, since dependent libraries are found via
49 # relative location.
50 # Args:
51 # target_dep: Target that builds the file to symlink to
52 # (default=":${invoker.target_name}($host_toolchain)").
53 # to: File to symlink to (default="target_dep's out_dir/target_name")
54 template("host_symlink") {
brettw 2015/12/10 00:12:21 I find this: host_sym_link("foo") { } really w
agrieve 2015/12/10 11:07:38 Made binary_label mandatory, but left output optio
55 symlink(target_name) {
56 _target_dep = ":${invoker.target_name}($host_toolchain)"
57 if (defined(invoker.target_dep)) {
58 _target_dep = invoker.target_dep
59 }
60
61 forward_variables_from(invoker,
62 [
63 "testonly",
64 "visibility",
65 ])
66
67 # The target doesn't need to be built before creating a symlink to it.
68 data_deps = [
brettw 2015/12/10 00:12:21 I don't think you want to use data deps here. Data
agrieve 2015/12/10 11:07:38 Done.
69 _target_dep,
70 ]
71
72 if (defined(invoker.to)) {
73 to = invoker.to
74 } else {
75 _out_dir = get_label_info(_target_dep, "root_out_dir")
76 to = "$_out_dir/" + get_label_info(_target_dep, "name")
77 }
78 }
79 }
OLDNEW
« no previous file with comments | « breakpad/BUILD.gn ('k') | tools/android/forwarder2/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698