Commit 1f93b4b5 authored by Hitoshi Yoshida's avatar Hitoshi Yoshida Committed by Commit Bot

GN: Set up GN to switch IDL compiler for IDL dictionaries

Set a GN args variable |use_v8_bind_gen_for_dictionary| to use the new
bindings generator.
This CL adds a new file core/v8/generated.gni to list names of generated
files as we do in modules/v8/generated.gni.


Bug: 839389
Change-Id: I2513ae6b43478b9e3b07b1042467ef3c9624bf49
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1969292
Commit-Queue: Hitoshi Yoshida <peria@chromium.org>
Reviewed-by: default avatarYuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#726298}
parent a704f772
......@@ -3,6 +3,9 @@
# found in the LICENSE file.
import("//build/config/python.gni")
import("//third_party/blink/renderer/bindings/bindings.gni")
import("//third_party/blink/renderer/bindings/core/v8/generated.gni")
import("//third_party/blink/renderer/bindings/modules/v8/generated.gni")
import("//third_party/blink/renderer/bindings/scripts/scripts.gni")
import("//third_party/blink/renderer/build/scripts/scripts.gni")
import("//third_party/blink/renderer/core/core_idl_files.gni")
......@@ -139,31 +142,39 @@ action_with_pydeps("web_idl_database") {
]
}
action_with_pydeps("generate_bindings_example") {
script = "${bindings_scripts_dir}/generate_bindings.py"
group("generate_v8_bindings") {
public_deps = []
if (use_v8_bind_gen_for_dictionary) {
public_deps += [ ":generate_v8_bindings_dictionary" ]
}
}
web_idl_database_outputs = get_target_outputs(":web_idl_database")
web_idl_database = web_idl_database_outputs[0]
if (use_v8_bind_gen_for_dictionary) {
action_with_pydeps("generate_v8_bindings_dictionary") {
script = "${bindings_scripts_dir}/generate_bindings.py"
inputs = [
web_idl_database,
]
outputs = [
"${bindings_output_dir}/core/v8/example_dictionary.cc",
"${bindings_output_dir}/core/v8/example_dictionary.h",
]
web_idl_database_outputs = get_target_outputs(":web_idl_database")
web_idl_database = web_idl_database_outputs[0]
args = [
"dictionary",
"--web_idl_database",
rebase_path(web_idl_database, root_build_dir),
"--output_dir_core",
rebase_path("${bindings_output_dir}/core/v8/", root_build_dir),
"--output_dir_modules",
rebase_path("${bindings_output_dir}/modules/v8/", root_build_dir),
]
inputs = [
web_idl_database,
]
outputs =
generated_core_dictionary_files + generated_modules_dictionary_files +
generated_core_testing_dictionary_files + generated_demo_files
deps = [
":web_idl_database",
]
args = [
"dictionary",
"--web_idl_database",
rebase_path(web_idl_database, root_build_dir),
"--output_dir_core",
rebase_path("${bindings_output_dir}/core/v8/", root_build_dir),
"--output_dir_modules",
rebase_path("${bindings_output_dir}/modules/v8/", root_build_dir),
]
deps = [
":web_idl_database",
]
}
}
This diff is collapsed.
......@@ -129,10 +129,13 @@ blink_modules_sources("bindings_modules_impl") {
get_target_outputs(":bindings_modules_v8_generated_init_partial") +
get_target_outputs(":bindings_modules_origin_trial_features")
sources += generated_modules_dictionary_files
deps = [
":bindings_modules_origin_trial_features",
":bindings_modules_v8_generated",
":generate_mojo_bindings",
"//third_party/blink/renderer/bindings:generate_v8_bindings",
"//third_party/blink/renderer/modules/mediarecorder:buildflags",
"//third_party/dawn/src/dawn:dawn_headers",
]
......
......@@ -4,6 +4,7 @@
import("//build/config/chrome_build.gni")
import("//third_party/blink/renderer/bindings/bindings.gni")
import("//third_party/blink/renderer/bindings/scripts/scripts.gni")
import("//third_party/blink/renderer/core/core_idl_files.gni")
import("//third_party/blink/renderer/modules/modules_idl_files.gni")
......@@ -163,3 +164,14 @@ generated_modules_callback_function_files = [
bindings_generated_v8_context_snapshot_external_references_file =
"$bindings_modules_v8_output_dir/v8_context_snapshot_external_references.cc"
generated_modules_dictionary_files = []
if (use_v8_bind_gen_for_dictionary) {
generated_modules_dictionary_files +=
process_file_template(modules_dictionary_idl_files,
[
"{{source_gen_dir}}/{{source_name_part}}.cc",
"{{source_gen_dir}}/{{source_name_part}}.h",
])
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment