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

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

Issue 2593413002: Add options to let mojom targets override their component deps. (Closed)
Patch Set: Fix ios Created 3 years, 11 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 | « mojo/public/interfaces/bindings/tests/test_import.mojom ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 mojom_generator_root = "//mojo/public/tools/bindings" 5 mojom_generator_root = "//mojo/public/tools/bindings"
6 mojom_generator_script = "$mojom_generator_root/mojom_bindings_generator.py" 6 mojom_generator_script = "$mojom_generator_root/mojom_bindings_generator.py"
7 mojom_generator_sources = [ 7 mojom_generator_sources = [
8 "$mojom_generator_root/generators/mojom_cpp_generator.py", 8 "$mojom_generator_root/generators/mojom_cpp_generator.py",
9 "$mojom_generator_root/generators/mojom_js_generator.py", 9 "$mojom_generator_root/generators/mojom_js_generator.py",
10 "$mojom_generator_root/generators/mojom_java_generator.py", 10 "$mojom_generator_root/generators/mojom_java_generator.py",
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 # export_define (optional) 107 # export_define (optional)
108 # A define to be added to the source_set which is needed by the export 108 # A define to be added to the source_set which is needed by the export
109 # header. e.g. "CONTENT_IMPLEMENTATION=1" 109 # header. e.g. "CONTENT_IMPLEMENTATION=1"
110 # export_header (optional) 110 # export_header (optional)
111 # A header to be added to the generated bindings to support the component 111 # A header to be added to the generated bindings to support the component
112 # build. e.g. "content/common/content_export.h" 112 # build. e.g. "content/common/content_export.h"
113 # export_class_attribute_blink (optional) 113 # export_class_attribute_blink (optional)
114 # export_define_blink (optional) 114 # export_define_blink (optional)
115 # export_header_blink (optional) 115 # export_header_blink (optional)
116 # These three parameters are the blink variants of the previous 3. 116 # These three parameters are the blink variants of the previous 3.
117 #
118 # The following parameters are used to correct component build dependencies.
119 # They are needed so mojom-mojom dependencies follow the rule that dependencies
120 # on a source set in another component are replaced by a dependency on the
121 # containing component. The first two are for the chromium variant; the other
122 # two are for the blink variant.
123 # overridden_deps (optional)
124 # The list of mojom deps to be overridden.
125 # component_deps (optional)
126 # The list of component deps to add to replace overridden_deps.
127 # overridden_deps_blink (optional)
128 # component_deps_blink (optional)
129 # These two parameters are the blink variants of the previous two.
117 template("mojom") { 130 template("mojom") {
118 assert( 131 assert(
119 defined(invoker.sources) || defined(invoker.deps) || 132 defined(invoker.sources) || defined(invoker.deps) ||
120 defined(invoker.public_deps), 133 defined(invoker.public_deps),
121 "\"sources\" or \"deps\" must be defined for the $target_name template.") 134 "\"sources\" or \"deps\" must be defined for the $target_name template.")
122 if (defined(invoker.export_class_attribute) || 135 if (defined(invoker.export_class_attribute) ||
123 defined(invoker.export_define) || defined(invoker.export_header)) { 136 defined(invoker.export_define) || defined(invoker.export_header)) {
124 assert(defined(invoker.export_class_attribute)) 137 assert(defined(invoker.export_class_attribute))
125 assert(defined(invoker.export_define)) 138 assert(defined(invoker.export_define))
126 assert(defined(invoker.export_header)) 139 assert(defined(invoker.export_header))
127 } 140 }
128 if (defined(invoker.export_class_attribute_blink) || 141 if (defined(invoker.export_class_attribute_blink) ||
129 defined(invoker.export_define_blink) || 142 defined(invoker.export_define_blink) ||
130 defined(invoker.export_header_blink)) { 143 defined(invoker.export_header_blink)) {
131 assert(defined(invoker.export_class_attribute_blink)) 144 assert(defined(invoker.export_class_attribute_blink))
132 assert(defined(invoker.export_define_blink)) 145 assert(defined(invoker.export_define_blink))
133 assert(defined(invoker.export_header_blink)) 146 assert(defined(invoker.export_header_blink))
134 } 147 }
148 if (defined(invoker.overridden_deps) || defined(invoker.component_deps)) {
149 assert(defined(invoker.overridden_deps))
150 assert(defined(invoker.component_deps))
151 }
152
153 if (defined(invoker.overridden_deps_blink) ||
154 defined(invoker.component_deps_blink)) {
155 assert(defined(invoker.overridden_deps_blink))
156 assert(defined(invoker.component_deps_blink))
157 }
135 158
136 all_deps = [] 159 all_deps = []
137 if (defined(invoker.deps)) { 160 if (defined(invoker.deps)) {
138 all_deps += invoker.deps 161 all_deps += invoker.deps
139 } 162 }
140 if (defined(invoker.public_deps)) { 163 if (defined(invoker.public_deps)) {
141 all_deps += invoker.public_deps 164 all_deps += invoker.public_deps
142 } 165 }
143 166
144 group("${target_name}__is_mojom") { 167 group("${target_name}__is_mojom") {
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 if (enabled_sources != []) { 470 if (enabled_sources != []) {
448 public_deps += [ ":$generator_target_name" ] 471 public_deps += [ ":$generator_target_name" ]
449 } 472 }
450 foreach(d, all_deps) { 473 foreach(d, all_deps) {
451 # Resolve the name, so that a target //mojo/something becomes 474 # Resolve the name, so that a target //mojo/something becomes
452 # //mojo/something:something and we can append variant_suffix to 475 # //mojo/something:something and we can append variant_suffix to
453 # get the cpp dependency name. 476 # get the cpp dependency name.
454 full_name = get_label_info("$d", "label_no_toolchain") 477 full_name = get_label_info("$d", "label_no_toolchain")
455 public_deps += [ "${full_name}${variant_suffix}" ] 478 public_deps += [ "${full_name}${variant_suffix}" ]
456 } 479 }
480 if (defined(bindings_configuration.for_blink) &&
481 bindings_configuration.for_blink) {
482 if (defined(invoker.overridden_deps_blink)) {
483 foreach(d, invoker.overridden_deps_blink) {
484 # Resolve the name, so that a target //mojo/something becomes
485 # //mojo/something:something and we can append variant_suffix
486 # to get the cpp dependency name.
487 full_name = get_label_info("$d", "label_no_toolchain")
488 public_deps -= [ "${full_name}${variant_suffix}" ]
489 }
490 public_deps += invoker.component_deps_blink
491 }
492 } else {
493 if (defined(invoker.overridden_deps)) {
494 foreach(d, invoker.overridden_deps) {
495 # Resolve the name, so that a target //mojo/something becomes
496 # //mojo/something:something and we can append variant_suffix
497 # to get the cpp dependency name.
498 full_name = get_label_info("$d", "label_no_toolchain")
499 public_deps -= [ "${full_name}${variant_suffix}" ]
500 }
501 public_deps += invoker.component_deps
502 }
503 }
457 foreach(typemap, active_typemaps) { 504 foreach(typemap, active_typemaps) {
458 if (defined(typemap.public_headers)) { 505 if (defined(typemap.public_headers)) {
459 sources += typemap.public_headers 506 sources += typemap.public_headers
460 } 507 }
461 if (defined(typemap.traits_headers)) { 508 if (defined(typemap.traits_headers)) {
462 sources += typemap.traits_headers 509 sources += typemap.traits_headers
463 } 510 }
464 if (defined(typemap.sources)) { 511 if (defined(typemap.sources)) {
465 sources += typemap.sources 512 sources += typemap.sources
466 } 513 }
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
521 full_name = get_label_info(d, "label_no_toolchain") 568 full_name = get_label_info(d, "label_no_toolchain")
522 deps += [ "${full_name}_java" ] 569 deps += [ "${full_name}_java" ]
523 } 570 }
524 571
525 srcjar_deps = [ ":$java_srcjar_target_name" ] 572 srcjar_deps = [ ":$java_srcjar_target_name" ]
526 run_findbugs_override = false 573 run_findbugs_override = false
527 } 574 }
528 } 575 }
529 } 576 }
530 } 577 }
OLDNEW
« no previous file with comments | « mojo/public/interfaces/bindings/tests/test_import.mojom ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698