# 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("//tools/grit/grit_rule.gni") interfaces_bindings_gen_dir = "$root_gen_dir/mojo/public/interfaces/bindings" action("bindings") { bindings_js_files = [ # This must be the first file in the list, because it initializes global # variable |mojo| that the others need to refer to. "base.js", "bindings.js", "interface_types.js", "lib/buffer.js", "lib/codec.js", "lib/connector.js", "lib/control_message_handler.js", "lib/control_message_proxy.js", "lib/interface_endpoint_client.js", "lib/interface_endpoint_handle.js", "lib/pipe_control_message_handler.js", "lib/pipe_control_message_proxy.js", "lib/router.js", "lib/unicode.js", "lib/validator.js", # These two needs to refer to codec.js. "$interfaces_bindings_gen_dir/interface_control_messages.mojom.js", "$interfaces_bindings_gen_dir/pipe_control_messages.mojom.js", ] compiled_file = "$target_gen_dir/mojo_bindings.js" # TODO(yzshen): Eventually we would like to use Closure Compiler to minify the # bindings instead of simply concatenating the files. script = "//v8/tools/concatenate-files.py" sources = bindings_js_files outputs = [ compiled_file, ] args = rebase_path(bindings_js_files, root_build_dir) args += [ rebase_path(compiled_file, root_build_dir) ] deps = [ "//mojo/public/interfaces/bindings:bindings_js__generator", ] } grit("resources") { source = "mojo_bindings_resources.grd" # The .grd contains references to generated files. source_is_generated = true outputs = [ "grit/mojo_bindings_resources.h", "grit/mojo_bindings_resources_map.cc", "grit/mojo_bindings_resources_map.h", "mojo_bindings_resources.pak", ] grit_flags = [ "-E", "root_gen_dir=" + rebase_path(root_gen_dir, root_build_dir), ] deps = [ ":bindings", ] }