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

Side by Side Diff: third_party/class-dump/class-dump.gni

Issue 1806523002: Add BUILD.gn rules to compile third_party/class-dump. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@compiler
Patch Set: Use ${host_toolchain} instead of //build/toolchain/mac:clang_x64 Created 4 years, 9 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 | « third_party/class-dump/BUILD.gn ('k') | third_party/class-dump/class-dump.gyp » ('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 2016 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 # Given a framework, generates a header file declaring the classes from that
6 # framework using class-dump tool.
7 #
8 # Arguments:
9 #
10 # framework_name
11 # string, short name of the framework.
12 #
13 # framework_path
14 # string, location of the framework, usually a sub-directory of
15 # Xcode application bundle.
16 #
17 # framework_version
18 # (optional) string, version of the framework to dump class for,
19 # defaults to "Current" if omitted.
20 #
21 # class_dump_filter
22 # regexp, only display classes matching this regular expression.
23 #
24 # topological_sort
25 # (optional) boolean, sort classes, categories, and protocols by
26 # inheritance, defaults to false if omitted.
27 #
28 # All common target arugments ("visibility", "deps", ...) are forwarded by
29 # the template.
30 template("class_dump") {
31 assert(defined(invoker.framework_name),
32 "framework_name must be defined for $target_name")
33 assert(defined(invoker.framework_path),
34 "framework_path must be defined for $target_name")
35 assert(defined(invoker.class_dump_filter),
36 "class_dump_filter must be defined for $target_name")
37
38 framework_version = "Current"
39 if (defined(invoker.framework_version)) {
40 framework_version = invoker.framework_version
41 }
42
43 sort_args = []
44 if (defined(invoker.topological_sort) && invoker.topological_sort) {
45 sort_args = [ "-I" ]
46 }
47
48 class_dump = "//third_party/class-dump(${host_toolchain})"
49 class_dump_bin = get_label_info(class_dump, "root_out_dir") + "/class-dump"
50 framework = "${invoker.framework_path}/${invoker.framework_name}.framework"
51
52 _config_name = target_name + "_config"
53
54 config(_config_name) {
55 visibility = [ ":$target_name" ]
56 include_dirs = [ "$target_gen_dir" ]
57 }
58
59 action(target_name) {
60 forward_variables_from(invoker,
61 "*",
62 [
63 "args",
64 "class_dump_filter",
65 "framework_name",
66 "framework_path",
67 "framework_version",
68 "script",
69 "sources",
70 ])
71 if (!defined(deps)) {
72 deps = []
73 }
74 deps += [ class_dump ]
75 public_configs = [ ":$_config_name" ]
76
77 script = "//third_party/class-dump/class-dump.py"
78 inputs = [
79 class_dump_bin,
80 ]
81 sources = [
82 "${framework}/Versions/${framework_version}/${invoker.framework_name}",
83 ]
84 outputs = [
85 "$target_gen_dir/${invoker.framework_name}.h",
86 ]
87 args = [
88 "-t=" + rebase_path(class_dump_bin, root_build_dir),
89 "-o=" + rebase_path(outputs[0], root_build_dir),
90 "--",
91 "-C${invoker.class_dump_filter}",
92 "${framework}",
93 ]
94 args += sort_args
95 }
96 }
OLDNEW
« no previous file with comments | « third_party/class-dump/BUILD.gn ('k') | third_party/class-dump/class-dump.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698