Index: mojo/public/tools/bindings/mojom.gni |
diff --git a/mojo/public/tools/bindings/mojom.gni b/mojo/public/tools/bindings/mojom.gni |
deleted file mode 100644 |
index d267fc92e18b4e0b4aca7bdc4d846525d6995682..0000000000000000000000000000000000000000 |
--- a/mojo/public/tools/bindings/mojom.gni |
+++ /dev/null |
@@ -1,258 +0,0 @@ |
-# Copyright 2014 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-import("../../mojo_sdk.gni") |
- |
-# Generate C++ and JavaScript source files from mojom files. The output files |
-# will go under the generated file directory tree with the same path as each |
-# input file. |
-# |
-# If a mojom target is intended for use in a client repo where the location of |
-# the Mojo SDK will be different than its location in the Mojo repo, |
-# dependencies on the SDK should be specified relative to the parent directory |
-# of the Mojo public SDK in |mojo_sdk_deps| rather than via absolute paths in |
-# |deps|. |
-# |
-# Parameters: |
-# |
-# sources (required) |
-# List of source .mojom files to compile. |
-# |
-# deps (optional) |
-# Note: this can contain only other mojom targets. |
-# |
-# mojo_sdk_deps (optional) |
-# List of deps specified relative to the parent directory of the Mojo |
-# public SDK. These deps will be added as ordinary deps rebased to the |
-# current directory. |
-# |
-# public_deps (optional) |
-# Note: this can contain only other mojom targets. |
-# |
-# mojo_sdk_public_deps (optional) |
-# List of public deps specified relative to the parent directory of the |
-# Mojo public SDK. These deps will be added as ordinary public deps |
-# rebased to the current directory. |
-# |
-# import_dirs (optional) |
-# List of import directories that will get added when processing sources. |
-# |
-# testonly (optional) |
-# |
-# visibility (optional) |
-template("mojom") { |
- assert(defined(invoker.sources), |
- "\"sources\" must be defined for the $target_name template.") |
- |
- generator_root = rebase_path("mojo/public/tools/bindings", ".", mojo_root) |
- generator_script = "$generator_root/mojom_bindings_generator.py" |
- generator_sources = [ |
- generator_script, |
- "$generator_root/generators/cpp_templates/enum_declaration.tmpl", |
- "$generator_root/generators/cpp_templates/interface_declaration.tmpl", |
- "$generator_root/generators/cpp_templates/interface_definition.tmpl", |
- "$generator_root/generators/cpp_templates/interface_macros.tmpl", |
- "$generator_root/generators/cpp_templates/interface_proxy_declaration.tmpl", |
- "$generator_root/generators/cpp_templates/interface_request_validator_declaration.tmpl", |
- "$generator_root/generators/cpp_templates/interface_response_validator_declaration.tmpl", |
- "$generator_root/generators/cpp_templates/interface_stub_declaration.tmpl", |
- "$generator_root/generators/cpp_templates/module.cc.tmpl", |
- "$generator_root/generators/cpp_templates/module.h.tmpl", |
- "$generator_root/generators/cpp_templates/module-internal.h.tmpl", |
- "$generator_root/generators/cpp_templates/params_definition.tmpl", |
- "$generator_root/generators/cpp_templates/struct_declaration.tmpl", |
- "$generator_root/generators/cpp_templates/struct_definition.tmpl", |
- "$generator_root/generators/cpp_templates/struct_serialization_declaration.tmpl", |
- "$generator_root/generators/cpp_templates/struct_serialization_definition.tmpl", |
- "$generator_root/generators/cpp_templates/struct_macros.tmpl", |
- "$generator_root/generators/cpp_templates/wrapper_class_declaration.tmpl", |
- "$generator_root/generators/cpp_templates/wrapper_class_definition.tmpl", |
- "$generator_root/generators/dart_templates/enum_definition.tmpl", |
- "$generator_root/generators/dart_templates/interface_definition.tmpl", |
- "$generator_root/generators/dart_templates/module.lib.tmpl", |
- "$generator_root/generators/dart_templates/module_definition.tmpl", |
- "$generator_root/generators/dart_templates/struct_definition.tmpl", |
- "$generator_root/generators/java_templates/constant_definition.tmpl", |
- "$generator_root/generators/java_templates/constants.java.tmpl", |
- "$generator_root/generators/java_templates/enum.java.tmpl", |
- "$generator_root/generators/java_templates/enum_definition.tmpl", |
- "$generator_root/generators/java_templates/header.java.tmpl", |
- "$generator_root/generators/java_templates/interface.java.tmpl", |
- "$generator_root/generators/java_templates/interface_definition.tmpl", |
- "$generator_root/generators/java_templates/interface_internal.java.tmpl", |
- "$generator_root/generators/java_templates/struct.java.tmpl", |
- "$generator_root/generators/java_templates/struct_definition.tmpl", |
- "$generator_root/generators/js_templates/enum_definition.tmpl", |
- "$generator_root/generators/js_templates/interface_definition.tmpl", |
- "$generator_root/generators/js_templates/module.amd.tmpl", |
- "$generator_root/generators/js_templates/module.sky.tmpl", |
- "$generator_root/generators/js_templates/module_definition.tmpl", |
- "$generator_root/generators/js_templates/struct_definition.tmpl", |
- "$generator_root/generators/python_templates/module_macros.tmpl", |
- "$generator_root/generators/python_templates/module.py.tmpl", |
- "$generator_root/generators/mojom_cpp_generator.py", |
- "$generator_root/generators/mojom_dart_generator.py", |
- "$generator_root/generators/mojom_js_generator.py", |
- "$generator_root/generators/mojom_java_generator.py", |
- "$generator_root/generators/mojom_python_generator.py", |
- "$generator_root/pylib/mojom/__init__.py", |
- "$generator_root/pylib/mojom/error.py", |
- "$generator_root/pylib/mojom/generate/__init__.py", |
- "$generator_root/pylib/mojom/generate/data.py", |
- "$generator_root/pylib/mojom/generate/generator.py", |
- "$generator_root/pylib/mojom/generate/module.py", |
- "$generator_root/pylib/mojom/generate/pack.py", |
- "$generator_root/pylib/mojom/generate/template_expander.py", |
- "$generator_root/pylib/mojom/parse/__init__.py", |
- "$generator_root/pylib/mojom/parse/ast.py", |
- "$generator_root/pylib/mojom/parse/lexer.py", |
- "$generator_root/pylib/mojom/parse/parser.py", |
- "$generator_root/pylib/mojom/parse/translate.py", |
- ] |
- 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_dart_outputs = |
- [ "{{source_gen_dir}}/{{source_name_part}}.mojom.dart" ] |
- generator_java_outputs = |
- [ "{{source_gen_dir}}/{{source_name_part}}.mojom.srcjar" ] |
- generator_js_outputs = [ "{{source_gen_dir}}/{{source_name_part}}.mojom.js" ] |
- generator_python_outputs = |
- [ "{{source_gen_dir}}/{{source_name_part}}_mojom.py" ] |
- |
- rebased_mojo_sdk_public_deps = [] |
- if (defined(invoker.mojo_sdk_public_deps)) { |
- foreach(sdk_dep, invoker.mojo_sdk_public_deps) { |
- # Check that the SDK dep was not mistakenly given as an absolute path. |
- assert(get_path_info(sdk_dep, "abspath") != sdk_dep) |
- rebased_mojo_sdk_public_deps += [ rebase_path(sdk_dep, ".", mojo_root) ] |
- } |
- } |
- |
- rebased_mojo_sdk_deps = [] |
- if (defined(invoker.mojo_sdk_deps)) { |
- foreach(sdk_dep, invoker.mojo_sdk_deps) { |
- # Check that the SDK dep was not mistakenly given as an absolute path. |
- assert(get_path_info(sdk_dep, "abspath") != sdk_dep) |
- rebased_mojo_sdk_deps += [ rebase_path(sdk_dep, ".", mojo_root) ] |
- } |
- } |
- |
- if (defined(invoker.visibility)) { |
- # Need to save this because the the target_name is overwritten inside the |
- # action to be that of the action itself. Only define this in the case the |
- # var is used to avoid unused var error. |
- target_visibility = [ ":$target_name" ] |
- } |
- |
- generator_target_name = target_name + "__generator" |
- action_foreach(generator_target_name) { |
- if (defined(invoker.visibility)) { |
- visibility = target_visibility + invoker.visibility |
- } |
- script = generator_script |
- inputs = generator_sources |
- sources = invoker.sources |
- outputs = |
- generator_cpp_outputs + generator_dart_outputs + |
- generator_java_outputs + generator_js_outputs + generator_python_outputs |
- args = [ |
- "{{source}}", |
- "--use_bundled_pylibs", |
- "-d", |
- rebase_path("//", root_build_dir), |
- "-I", |
- rebase_path("//", root_build_dir), |
- "-I", |
- rebase_path(mojo_root, root_build_dir), |
- "-o", |
- rebase_path(root_gen_dir), |
- ] |
- |
- if (defined(invoker.import_dirs)) { |
- foreach(import_dir, invoker.import_dirs) { |
- args += [ |
- "-I", |
- rebase_path(import_dir, root_build_dir), |
- ] |
- } |
- } |
- } |
- |
- source_set(target_name) { |
- if (defined(invoker.visibility)) { |
- visibility = invoker.visibility |
- } |
- if (defined(invoker.testonly)) { |
- testonly = invoker.testonly |
- } |
- sources = process_file_template(invoker.sources, generator_cpp_outputs) |
- data = process_file_template(invoker.sources, generator_js_outputs) |
- |
- public_configs = |
- rebase_path([ "mojo/public/build/config:mojo_sdk" ], ".", mojo_root) |
- |
- public_deps = rebase_path([ "mojo/public/cpp/bindings" ], ".", mojo_root) |
- public_deps += rebased_mojo_sdk_public_deps |
- if (defined(invoker.public_deps)) { |
- public_deps += invoker.public_deps |
- } |
- |
- deps = [ |
- ":$generator_target_name", |
- ] |
- deps += rebased_mojo_sdk_deps |
- if (defined(invoker.deps)) { |
- deps += invoker.deps |
- } |
- } |
- |
- all_deps = rebased_mojo_sdk_deps + rebased_mojo_sdk_public_deps |
- if (defined(invoker.deps)) { |
- all_deps += invoker.deps |
- } |
- if (defined(invoker.public_deps)) { |
- all_deps += invoker.public_deps |
- } |
- |
- group("${target_name}__is_mojom") { |
- } |
- |
- # Explicitly ensure that all dependencies (invoker.deps and |
- # invoker.public_deps) are mojom targets themselves. |
- group("${target_name}__check_deps_are_all_mojom") { |
- deps = [] |
- foreach(d, all_deps) { |
- name = get_label_info(d, "label_no_toolchain") |
- toolchain = get_label_info(d, "toolchain") |
- deps += [ "${name}__is_mojom(${toolchain})" ] |
- } |
- } |
- |
- if (is_android) { |
- import("//build/config/android/rules.gni") |
- |
- java_target_name = target_name + "_java" |
- android_library(java_target_name) { |
- deps = rebase_path([ |
- "mojo/public/java:bindings", |
- "mojo/public/java:system", |
- ], |
- ".", |
- mojo_root) |
- |
- foreach(d, all_deps) { |
- # Resolve the name, so that a target //mojo/something becomes |
- # //mojo/something:something and we can append "_java" to get the java |
- # dependency name. |
- full_name = get_label_info(d, "label_no_toolchain") |
- deps += [ "${full_name}_java" ] |
- } |
- |
- srcjars = process_file_template(invoker.sources, generator_java_outputs) |
- } |
- } |
-} |