| # 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. |
| |
| interfaces_bindings_gen_dir = "$root_gen_dir/mojo/public/interfaces/bindings" |
| |
| source_set("js") { |
| sources = [ |
| "constants.cc", |
| "constants.h", |
| ] |
| } |
| |
| group("bindings") { |
| data = [ |
| "$interfaces_bindings_gen_dir/interface_control_messages.mojom.js", |
| "$interfaces_bindings_gen_dir/pipe_control_messages.mojom.js", |
| "associated_bindings.js", |
| "bindings.js", |
| "buffer.js", |
| "codec.js", |
| "connector.js", |
| "core.js", |
| "interface_types.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", |
| "router.js", |
| "support.js", |
| "threading.js", |
| "unicode.js", |
| "validator.js", |
| ] |
| |
| deps = [ |
| ":new_bindings", |
| "//mojo/public/interfaces/bindings:bindings_js__generator", |
| ] |
| } |
| |
| action("new_bindings") { |
| new_bindings_js_files = [ |
| # This must be the first file in the list, because it initializes global |
| # variable |mojoBindings| that the others need to refer to. |
| "new_bindings/base.js", |
| |
| "new_bindings/bindings.js", |
| "new_bindings/buffer.js", |
| "new_bindings/codec.js", |
| "new_bindings/connector.js", |
| "new_bindings/interface_types.js", |
| "new_bindings/lib/control_message_handler.js", |
| "new_bindings/lib/control_message_proxy.js", |
| "new_bindings/lib/interface_endpoint_client.js", |
| "new_bindings/lib/interface_endpoint_handle.js", |
| "new_bindings/lib/pipe_control_message_handler.js", |
| "new_bindings/lib/pipe_control_message_proxy.js", |
| "new_bindings/router.js", |
| "new_bindings/unicode.js", |
| "new_bindings/validator.js", |
| |
| # These two needs to refer to codec.js. |
| "$interfaces_bindings_gen_dir/new_bindings/interface_control_messages.mojom.js", |
| "$interfaces_bindings_gen_dir/new_bindings/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 = new_bindings_js_files |
| outputs = [ |
| compiled_file, |
| ] |
| |
| args = rebase_path(new_bindings_js_files, root_build_dir) |
| args += [ rebase_path(compiled_file, root_build_dir) ] |
| |
| deps = [ |
| "//mojo/public/interfaces/bindings:new_bindings_js__generator", |
| ] |
| } |
| |
| group("tests") { |
| testonly = true |
| |
| data = [ |
| "tests/core_unittest.js", |
| ] |
| |
| public_deps = [ |
| ":bindings", |
| ] |
| } |