| Index: mojo/public/tools/bindings/mojom.gni
|
| diff --git a/mojo/public/tools/bindings/mojom.gni b/mojo/public/tools/bindings/mojom.gni
|
| index 9cd72173a0aa9d7fc8728028eb34f96aa8e42b72..4730fc6e51f758e5fdaaa767942251464604a9e0 100644
|
| --- a/mojo/public/tools/bindings/mojom.gni
|
| +++ b/mojo/public/tools/bindings/mojom.gni
|
| @@ -55,6 +55,10 @@ mojom_generator_sources = [
|
| # A variant name to apply to generated bindings. Variant influences
|
| # generated source filenames as wells the symbols they define.
|
| #
|
| +# cpp_only (optional)
|
| +# If true, only C++ bindings will be generated. This defaults to false
|
| +# unless |variant| is specified.
|
| +#
|
| # testonly (optional)
|
| #
|
| # visibility (optional)
|
| @@ -66,29 +70,38 @@ template("mojom") {
|
|
|
| cpp_sources_suffix = "cpp_sources"
|
| cpp_sources_target_name = "${target_name}_${cpp_sources_suffix}"
|
| + cpp_only = false
|
| + if (defined(invoker.cpp_only)) {
|
| + cpp_only = invoker.cpp_only
|
| + }
|
| if (defined(invoker.sources)) {
|
| if (defined(invoker.variant)) {
|
| variant = invoker.variant
|
| + cpp_only = true
|
| generator_cpp_outputs = [
|
| "{{source_gen_dir}}/{{source_name_part}}.mojom-${variant}.cc",
|
| "{{source_gen_dir}}/{{source_name_part}}.mojom-${variant}.h",
|
| "{{source_gen_dir}}/{{source_name_part}}.mojom-${variant}-internal.h",
|
| ]
|
| - generator_js_outputs = []
|
| - generator_java_outputs = []
|
| } else {
|
| generator_cpp_outputs = [
|
| "{{source_gen_dir}}/{{source_name_part}}.mojom.cc",
|
| "{{source_gen_dir}}/{{source_name_part}}.mojom.h",
|
| "{{source_gen_dir}}/{{source_name_part}}.mojom-internal.h",
|
| ]
|
| - generator_js_outputs =
|
| - [ "{{source_gen_dir}}/{{source_name_part}}.mojom.js" ]
|
| - generator_java_outputs =
|
| - [ "{{source_gen_dir}}/{{source_name_part}}.mojom.srcjar" ]
|
| }
|
| }
|
|
|
| + if (cpp_only) {
|
| + generator_js_outputs = []
|
| + generator_java_outputs = []
|
| + } else {
|
| + generator_js_outputs =
|
| + [ "{{source_gen_dir}}/{{source_name_part}}.mojom.js" ]
|
| + generator_java_outputs =
|
| + [ "{{source_gen_dir}}/{{source_name_part}}.mojom.srcjar" ]
|
| + }
|
| +
|
| if (defined(invoker.sources)) {
|
| generator_target_name = target_name + "__generator"
|
| action_foreach(generator_target_name) {
|
| @@ -123,10 +136,8 @@ template("mojom") {
|
| }
|
| }
|
|
|
| - if (defined(invoker.variant)) {
|
| + if (cpp_only) {
|
| args += [
|
| - "--variant",
|
| - invoker.variant,
|
| "-g",
|
| "c++",
|
| ]
|
| @@ -137,6 +148,13 @@ template("mojom") {
|
| ]
|
| }
|
|
|
| + if (defined(invoker.variant)) {
|
| + args += [
|
| + "--variant",
|
| + invoker.variant,
|
| + ]
|
| + }
|
| +
|
| if (defined(invoker.typemaps)) {
|
| foreach(typemap, invoker.typemaps) {
|
| args += [
|
|
|