| Index: sky/engine/bindings/scripts/scripts.gni
|
| diff --git a/sky/engine/bindings/scripts/scripts.gni b/sky/engine/bindings/scripts/scripts.gni
|
| deleted file mode 100644
|
| index f4775277c8502b0740562bb8503f63880bee8ec7..0000000000000000000000000000000000000000
|
| --- a/sky/engine/bindings/scripts/scripts.gni
|
| +++ /dev/null
|
| @@ -1,242 +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("//sky/engine/bindings/core/v8/generated.gni")
|
| -import("//sky/engine/bindings/core/core.gni")
|
| -import("//sky/engine/bindings/core/idl.gni")
|
| -
|
| -bindings_scripts_dir = get_path_info(".", "abspath")
|
| -bindings_scripts_output_dir = "$root_gen_dir/sky/bindings/scripts"
|
| -
|
| -# Replacing <(DEPTH) with "/" makes paths like "<(DEPTH)/foo" absolute.
|
| -_gypi = exec_script("//build/gypi_to_gn.py",
|
| - [
|
| - rebase_path("scripts.gypi"),
|
| - "--replace=<(DEPTH)=/",
|
| - ],
|
| - "scope",
|
| - [ "scripts.gypi" ])
|
| -
|
| -jinja_module_files = get_path_info(_gypi.jinja_module_files, "abspath")
|
| -idl_lexer_parser_files = get_path_info(_gypi.idl_lexer_parser_files, "abspath")
|
| -idl_compiler_files = get_path_info(_gypi.idl_compiler_files, "abspath")
|
| -
|
| -# Calls the compute_interfaces_info_individual script.
|
| -#
|
| -# Parameters:
|
| -# sources_static = list of IDL files to pass as inputs
|
| -# sources_generated = list of generated IDL files to pass as inputs
|
| -# component_dir = name if subdirectory (one word, no slashes) of component.
|
| -# output_file = pickle file to write
|
| -#
|
| -# FIXME: Note the static/generated split is for consistency with GYP. This
|
| -# split is not necessary in the GN build and could be combined into a single
|
| -# "sources".
|
| -template("compute_interfaces_info_individual") {
|
| - action(target_name) {
|
| - script = "$bindings_scripts_dir/compute_interfaces_info_individual.py"
|
| - if (defined(invoker.visibility)) {
|
| - visibility = invoker.visibility
|
| - }
|
| -
|
| - # Save static list to temp file to avoid blowing out command-line length
|
| - # limit.
|
| - file_list = "$target_gen_dir/${target_name}_file_list.txt"
|
| - write_file(file_list, rebase_path(invoker.sources_static, root_build_dir))
|
| -
|
| - inputs = [ "$bindings_scripts_dir/utilities.py" ] + invoker.sources_static +
|
| - invoker.sources_generated
|
| -
|
| - outputs = [
|
| - file_list,
|
| - invoker.output_file,
|
| - ]
|
| -
|
| - args = [
|
| - "--component-dir",
|
| - invoker.component_dir,
|
| - "--idl-files-list",
|
| - rebase_path(file_list, root_build_dir),
|
| - "--interfaces-info-file",
|
| - rebase_path(invoker.output_file, root_build_dir),
|
| - "--write-file-only-if-changed=1",
|
| - "--",
|
| - ] + rebase_path(invoker.sources_generated, root_build_dir)
|
| -
|
| - deps = [
|
| - # FIXME: should be {modules|core}_generated_idls
|
| - # http://crbug.com/358074
|
| - "//sky/engine/bindings:generated_idls",
|
| - ]
|
| - }
|
| -}
|
| -
|
| -# Calls generate_event_interfaces
|
| -#
|
| -# Parameters:
|
| -# sources = A list of IDL files to process.
|
| -# output_file = The .in file to write, relative to the sky_gen_dir.
|
| -# suffix = (Optional) String to be passed to script via --suffix
|
| -template("generate_event_interfaces") {
|
| - action(target_name) {
|
| - # Write the file list to a unique temp file to avoid blowing out the
|
| - # command line length limit.
|
| - idl_files_list = "$target_gen_dir/${target_name}_file_list.tmp"
|
| - write_file(idl_files_list, rebase_path(invoker.sources, root_build_dir))
|
| -
|
| - inputs = [
|
| - "//sky/engine/bindings/scripts/utilities.py",
|
| - idl_files_list,
|
| - ] + invoker.sources
|
| -
|
| - output_file = "$root_gen_dir/sky/" + invoker.output_file
|
| - outputs = [
|
| - output_file,
|
| - ]
|
| -
|
| - script = "//sky/engine/bindings/scripts/generate_event_interfaces.py"
|
| - args = [
|
| - "--event-idl-files-list",
|
| - rebase_path(idl_files_list, root_build_dir),
|
| - "--event-interfaces-file",
|
| - rebase_path(output_file, root_build_dir),
|
| - "--write-file-only-if-changed=1", # Always true for Ninja.
|
| - ]
|
| -
|
| - if (defined(invoker.suffix)) {
|
| - args += [
|
| - "--suffix",
|
| - invoker.suffix,
|
| - ]
|
| - }
|
| - }
|
| -}
|
| -
|
| -# Runs the idl_compiler script over a list of sources.
|
| -#
|
| -# Parameters:
|
| -# sources = list of IDL files to compile
|
| -# output_dir = string containing the directory to put the output files.
|
| -template("idl_compiler") {
|
| - output_dir = invoker.output_dir
|
| -
|
| - action_foreach(target_name) {
|
| - # TODO(brettw) GYP adds a "-S before the script name to skip "import site" to
|
| - # speed up startup. Figure out if we need this and do something similar (not
|
| - # really expressible in GN now).
|
| - script = "//sky/engine/bindings/scripts/idl_compiler.py"
|
| -
|
| - inputs = idl_lexer_parser_files + idl_compiler_files # to be explicit (covered by parsetab)
|
| - inputs += [
|
| - "$bindings_scripts_output_dir/lextab.py",
|
| - "$bindings_scripts_output_dir/parsetab.pickle",
|
| - "$bindings_scripts_output_dir/cached_jinja_templates.stamp",
|
| - "$bindings_dir/IDLExtendedAttributes.txt",
|
| -
|
| - # If the dependency structure or public interface info (e.g.,
|
| - # [ImplementedAs]) changes, we rebuild all files, since we're not
|
| - # computing dependencies file-by-file in the build.
|
| - # This data is generally stable.
|
| - "$bindings_core_output_dir/InterfacesInfoAll.pickle",
|
| - ]
|
| -
|
| - # Further, if any dependency (partial interface or implemented
|
| - # interface) changes, rebuild everything, since every IDL potentially
|
| - # depends on them, because we're not computing dependencies
|
| - # file-by-file.
|
| - # FIXME: This is too conservative, and causes excess rebuilds:
|
| - # compute this file-by-file. http://crbug.com/341748
|
| - # This should theoretically just be the IDL files passed in.
|
| - inputs += core_all_dependency_idl_files
|
| -
|
| - sources = invoker.sources
|
| - outputs = [
|
| - "$output_dir/V8{{source_name_part}}.cpp",
|
| - "$output_dir/V8{{source_name_part}}.h",
|
| - ]
|
| -
|
| - args = [
|
| - "--cache-dir",
|
| - rebase_path(bindings_scripts_output_dir, root_build_dir),
|
| - "--output-dir",
|
| - rebase_path(output_dir, root_build_dir),
|
| - "--interfaces-info",
|
| - rebase_path("$bindings_core_output_dir/InterfacesInfoAll.pickle",
|
| - root_build_dir),
|
| - "--write-file-only-if-changed=1", # Always true for Ninja.
|
| - "{{source}}",
|
| - ]
|
| -
|
| - deps = [
|
| - "//sky/engine/bindings/core/v8:interfaces_info",
|
| - "//sky/engine/bindings/scripts:cached_lex_yacc_tables",
|
| - "//sky/engine/bindings/scripts:cached_jinja_templates",
|
| - "//sky/engine/core:generated_testing_idls",
|
| - ]
|
| - }
|
| -}
|
| -
|
| -# Runs the idl_compiler to generate IDL dictionary impl files.
|
| -#
|
| -# Parameters:
|
| -# sources = a list of IDL files to process
|
| -# outputs = a list of files to write to
|
| -template("idl_dictionary") {
|
| - output_dir = "$root_gen_dir/sky/"
|
| -
|
| - action(target_name) {
|
| - script = "//sky/engine/bindings/scripts/idl_compiler.py"
|
| - idl_files_list = "$target_gen_dir/${target_name}_file_list.tmp"
|
| - write_file(idl_files_list, rebase_path(invoker.sources, root_build_dir))
|
| -
|
| - inputs = [ idl_files_list ] + invoker.sources
|
| - outputs = invoker.outputs
|
| -
|
| - args = [
|
| - "--cache-dir",
|
| - rebase_path(bindings_scripts_output_dir, root_build_dir),
|
| - "--output-dir",
|
| - rebase_path(output_dir, root_build_dir),
|
| - "--interfaces-info",
|
| - rebase_path("$bindings_core_output_dir/InterfacesInfoAll.pickle",
|
| - root_build_dir),
|
| - "--write-file-only-if-changed=1",
|
| - "--generate-dictionary-impl",
|
| - rebase_path(idl_files_list, root_build_dir),
|
| - ]
|
| -
|
| - deps = [
|
| - "//sky/engine/bindings/core/v8:interfaces_info",
|
| - "//sky/engine/bindings/scripts:cached_lex_yacc_tables",
|
| - "//sky/engine/bindings/scripts:cached_jinja_templates",
|
| - ]
|
| - }
|
| -}
|
| -
|
| -# Calls the aggregate_generated_bindings script.
|
| -#
|
| -# Parameters:
|
| -# sources = a list of source IDL files.
|
| -# component_dir = Name of directory for these files (one word, no slashes).
|
| -# outputs = a list of files to write to.
|
| -template("aggregate_generated_bindings") {
|
| - action(target_name) {
|
| - script = "//sky/engine/bindings/scripts/aggregate_generated_bindings.py"
|
| -
|
| - # Write lists of main IDL files to a file, so that the command lines don't
|
| - # exceed OS length limits.
|
| - idl_files_list = "$target_gen_dir/${target_name}_file_list.tmp"
|
| - write_file(idl_files_list, rebase_path(invoker.sources, root_build_dir))
|
| -
|
| - inputs = [ idl_files_list ] + invoker.sources
|
| - outputs = invoker.outputs
|
| -
|
| - args = [
|
| - invoker.component_dir,
|
| - rebase_path(idl_files_list, root_build_dir),
|
| - "--",
|
| - ]
|
| - args += rebase_path(invoker.outputs, root_build_dir)
|
| - }
|
| -}
|
|
|