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

Side by Side Diff: mojo/public/tools/bindings/mojom.gni

Issue 545313002: Make ui gn check pass. Misc GN build improvements. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: link chrome Created 6 years, 3 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
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 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 # Generate C++ and JavaScript source files from mojom files. The output files 5 # Generate C++ and JavaScript source files from mojom files. The output files
6 # will go under the generated file directory tree with the same path as each 6 # will go under the generated file directory tree with the same path as each
7 # input file. 7 # input file.
8 # 8 #
9 # Parameters: 9 # Parameters:
10 # 10 #
11 # sources (required) 11 # sources (required)
12 # List of source .mojom files to compile. 12 # List of source .mojom files to compile.
13 # 13 #
14 # deps (optional) 14 # deps (optional)
15 #
15 # visibility (optional) 16 # visibility (optional)
16 # Normal meaning. 17 # Normal meaning. However, this must be a list (normal visibility
18 # allows a single string).
17 template("mojom") { 19 template("mojom") {
18 assert(defined(invoker.sources), 20 assert(defined(invoker.sources),
19 "\"sources\" must be defined for the $target_name template.") 21 "\"sources\" must be defined for the $target_name template.")
20 22
21 generator_root = "//mojo/public/tools/bindings" 23 generator_root = "//mojo/public/tools/bindings"
22 generator_script = "$generator_root/mojom_bindings_generator.py" 24 generator_script = "$generator_root/mojom_bindings_generator.py"
23 generator_sources = [ 25 generator_sources = [
24 generator_script, 26 generator_script,
25 "$generator_root/generators/cpp_templates/enum_declaration.tmpl", 27 "$generator_root/generators/cpp_templates/enum_declaration.tmpl",
26 "$generator_root/generators/cpp_templates/interface_declaration.tmpl", 28 "$generator_root/generators/cpp_templates/interface_declaration.tmpl",
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 "{{source_gen_dir}}/{{source_name_part}}.mojom.h", 70 "{{source_gen_dir}}/{{source_name_part}}.mojom.h",
69 "{{source_gen_dir}}/{{source_name_part}}.mojom-internal.h", 71 "{{source_gen_dir}}/{{source_name_part}}.mojom-internal.h",
70 ] 72 ]
71 generator_js_outputs = [ 73 generator_js_outputs = [
72 "{{source_gen_dir}}/{{source_name_part}}.mojom.js", 74 "{{source_gen_dir}}/{{source_name_part}}.mojom.js",
73 ] 75 ]
74 generator_python_outputs = [ 76 generator_python_outputs = [
75 "{{source_gen_dir}}/{{source_name_part}}_mojom.py", 77 "{{source_gen_dir}}/{{source_name_part}}_mojom.py",
76 ] 78 ]
77 79
78 target_visibility = ":$target_name" 80 if (defined(invoker.visibility)) {
81 # Need to save this because the the target_name is overwritten inside the
82 # action to be that of the action itself. Only define this in the case the
83 # var is used to avoid unused var error.
84 target_visibility = ":$target_name"
85 }
79 86
80 generator_target_name = target_name + "_generator" 87 generator_target_name = target_name + "_generator"
81 action_foreach(generator_target_name) { 88 action_foreach(generator_target_name) {
82 visibility = target_visibility 89 if (defined(invoker.visibility)) {
90 visibility = [ target_visibility ] + invoker.visibility # If you get an e rror here, make your visibility be a list.
91 }
83 script = generator_script 92 script = generator_script
84 inputs = generator_sources 93 inputs = generator_sources
85 sources = invoker.sources 94 sources = invoker.sources
86 outputs = generator_cpp_outputs + 95 outputs = generator_cpp_outputs +
87 generator_js_outputs + 96 generator_js_outputs +
88 generator_python_outputs 97 generator_python_outputs
89 args = [ 98 args = [
90 "{{source}}", 99 "{{source}}",
91 "--use_chromium_bundled_pylibs", 100 "--use_chromium_bundled_pylibs",
92 "-d", rebase_path("//", root_build_dir), 101 "-d", rebase_path("//", root_build_dir),
(...skipping 10 matching lines...) Expand all
103 data = process_file_template(invoker.sources, generator_js_outputs) 112 data = process_file_template(invoker.sources, generator_js_outputs)
104 deps = [ 113 deps = [
105 ":$generator_target_name", 114 ":$generator_target_name",
106 "//mojo/public/cpp/bindings", 115 "//mojo/public/cpp/bindings",
107 ] 116 ]
108 if (defined(invoker.deps)) { 117 if (defined(invoker.deps)) {
109 deps += invoker.deps 118 deps += invoker.deps
110 } 119 }
111 } 120 }
112 } 121 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698