Home | History | Annotate | Download | only in bindings
      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 import("//mojo/public/tools/bindings/mojom.gni")
      6 import("//third_party/jinja2/jinja2.gni")
      7 
      8 action("precompile_templates") {
      9   sources = mojom_generator_sources
     10   sources += [
     11     "$mojom_generator_root/generators/cpp_templates/enum_macros.tmpl",
     12     "$mojom_generator_root/generators/cpp_templates/enum_serialization_declaration.tmpl",
     13     "$mojom_generator_root/generators/cpp_templates/interface_declaration.tmpl",
     14     "$mojom_generator_root/generators/cpp_templates/interface_definition.tmpl",
     15     "$mojom_generator_root/generators/cpp_templates/interface_macros.tmpl",
     16     "$mojom_generator_root/generators/cpp_templates/interface_proxy_declaration.tmpl",
     17     "$mojom_generator_root/generators/cpp_templates/interface_request_validator_declaration.tmpl",
     18     "$mojom_generator_root/generators/cpp_templates/interface_response_validator_declaration.tmpl",
     19     "$mojom_generator_root/generators/cpp_templates/interface_stub_declaration.tmpl",
     20     "$mojom_generator_root/generators/cpp_templates/module-shared-internal.h.tmpl",
     21     "$mojom_generator_root/generators/cpp_templates/module-shared-message-ids.h.tmpl",
     22     "$mojom_generator_root/generators/cpp_templates/module-shared.cc.tmpl",
     23     "$mojom_generator_root/generators/cpp_templates/module-shared.h.tmpl",
     24     "$mojom_generator_root/generators/cpp_templates/module.cc.tmpl",
     25     "$mojom_generator_root/generators/cpp_templates/module.h.tmpl",
     26     "$mojom_generator_root/generators/cpp_templates/struct_data_view_declaration.tmpl",
     27     "$mojom_generator_root/generators/cpp_templates/struct_data_view_definition.tmpl",
     28     "$mojom_generator_root/generators/cpp_templates/struct_declaration.tmpl",
     29     "$mojom_generator_root/generators/cpp_templates/struct_definition.tmpl",
     30     "$mojom_generator_root/generators/cpp_templates/struct_macros.tmpl",
     31     "$mojom_generator_root/generators/cpp_templates/struct_serialization_declaration.tmpl",
     32     "$mojom_generator_root/generators/cpp_templates/struct_traits_declaration.tmpl",
     33     "$mojom_generator_root/generators/cpp_templates/struct_traits_definition.tmpl",
     34     "$mojom_generator_root/generators/cpp_templates/struct_unserialized_message_context.tmpl",
     35     "$mojom_generator_root/generators/cpp_templates/union_data_view_declaration.tmpl",
     36     "$mojom_generator_root/generators/cpp_templates/union_data_view_definition.tmpl",
     37     "$mojom_generator_root/generators/cpp_templates/union_declaration.tmpl",
     38     "$mojom_generator_root/generators/cpp_templates/union_definition.tmpl",
     39     "$mojom_generator_root/generators/cpp_templates/union_serialization_declaration.tmpl",
     40     "$mojom_generator_root/generators/cpp_templates/union_traits_declaration.tmpl",
     41     "$mojom_generator_root/generators/cpp_templates/union_traits_definition.tmpl",
     42     "$mojom_generator_root/generators/cpp_templates/validation_macros.tmpl",
     43     "$mojom_generator_root/generators/cpp_templates/wrapper_class_declaration.tmpl",
     44     "$mojom_generator_root/generators/cpp_templates/wrapper_class_definition.tmpl",
     45     "$mojom_generator_root/generators/cpp_templates/wrapper_class_template_definition.tmpl",
     46     "$mojom_generator_root/generators/cpp_templates/wrapper_union_class_declaration.tmpl",
     47     "$mojom_generator_root/generators/cpp_templates/wrapper_union_class_definition.tmpl",
     48     "$mojom_generator_root/generators/cpp_templates/wrapper_union_class_template_definition.tmpl",
     49     "$mojom_generator_root/generators/java_templates/constant_definition.tmpl",
     50     "$mojom_generator_root/generators/java_templates/constants.java.tmpl",
     51     "$mojom_generator_root/generators/java_templates/data_types_definition.tmpl",
     52     "$mojom_generator_root/generators/java_templates/enum.java.tmpl",
     53     "$mojom_generator_root/generators/java_templates/enum_definition.tmpl",
     54     "$mojom_generator_root/generators/java_templates/header.java.tmpl",
     55     "$mojom_generator_root/generators/java_templates/interface.java.tmpl",
     56     "$mojom_generator_root/generators/java_templates/interface_definition.tmpl",
     57     "$mojom_generator_root/generators/java_templates/interface_internal.java.tmpl",
     58     "$mojom_generator_root/generators/java_templates/struct.java.tmpl",
     59     "$mojom_generator_root/generators/java_templates/union.java.tmpl",
     60     "$mojom_generator_root/generators/js_templates/enum_definition.tmpl",
     61     "$mojom_generator_root/generators/js_templates/externs/interface_definition.tmpl",
     62     "$mojom_generator_root/generators/js_templates/externs/module.externs.tmpl",
     63     "$mojom_generator_root/generators/js_templates/externs/struct_definition.tmpl",
     64     "$mojom_generator_root/generators/js_templates/fuzzing.tmpl",
     65     "$mojom_generator_root/generators/js_templates/interface_definition.tmpl",
     66     "$mojom_generator_root/generators/js_templates/module.amd.tmpl",
     67     "$mojom_generator_root/generators/js_templates/module_definition.tmpl",
     68     "$mojom_generator_root/generators/js_templates/struct_definition.tmpl",
     69     "$mojom_generator_root/generators/js_templates/union_definition.tmpl",
     70     "$mojom_generator_root/generators/js_templates/validation_macros.tmpl",
     71   ]
     72   script = mojom_generator_script
     73 
     74   inputs = jinja2_sources
     75   outputs = [
     76     "$target_gen_dir/cpp_templates.zip",
     77     "$target_gen_dir/java_templates.zip",
     78     "$target_gen_dir/js_templates.zip",
     79   ]
     80   args = [
     81     "--use_bundled_pylibs",
     82     "precompile",
     83     "-o",
     84     rebase_path(target_gen_dir, root_build_dir),
     85   ]
     86 }
     87