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 @@ ...@@ -3,6 +3,9 @@
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/python.gni") 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/bindings/scripts/scripts.gni")
import("//third_party/blink/renderer/build/scripts/scripts.gni") import("//third_party/blink/renderer/build/scripts/scripts.gni")
import("//third_party/blink/renderer/core/core_idl_files.gni") import("//third_party/blink/renderer/core/core_idl_files.gni")
...@@ -139,31 +142,39 @@ action_with_pydeps("web_idl_database") { ...@@ -139,31 +142,39 @@ action_with_pydeps("web_idl_database") {
] ]
} }
action_with_pydeps("generate_bindings_example") { group("generate_v8_bindings") {
script = "${bindings_scripts_dir}/generate_bindings.py" 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") if (use_v8_bind_gen_for_dictionary) {
web_idl_database = web_idl_database_outputs[0] action_with_pydeps("generate_v8_bindings_dictionary") {
script = "${bindings_scripts_dir}/generate_bindings.py"
inputs = [ web_idl_database_outputs = get_target_outputs(":web_idl_database")
web_idl_database, web_idl_database = web_idl_database_outputs[0]
]
outputs = [
"${bindings_output_dir}/core/v8/example_dictionary.cc",
"${bindings_output_dir}/core/v8/example_dictionary.h",
]
args = [ inputs = [
"dictionary", web_idl_database,
"--web_idl_database", ]
rebase_path(web_idl_database, root_build_dir), outputs =
"--output_dir_core", generated_core_dictionary_files + generated_modules_dictionary_files +
rebase_path("${bindings_output_dir}/core/v8/", root_build_dir), generated_core_testing_dictionary_files + generated_demo_files
"--output_dir_modules",
rebase_path("${bindings_output_dir}/modules/v8/", root_build_dir),
]
deps = [ args = [
":web_idl_database", "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") { ...@@ -129,10 +129,13 @@ blink_modules_sources("bindings_modules_impl") {
get_target_outputs(":bindings_modules_v8_generated_init_partial") + get_target_outputs(":bindings_modules_v8_generated_init_partial") +
get_target_outputs(":bindings_modules_origin_trial_features") get_target_outputs(":bindings_modules_origin_trial_features")
sources += generated_modules_dictionary_files
deps = [ deps = [
":bindings_modules_origin_trial_features", ":bindings_modules_origin_trial_features",
":bindings_modules_v8_generated", ":bindings_modules_v8_generated",
":generate_mojo_bindings", ":generate_mojo_bindings",
"//third_party/blink/renderer/bindings:generate_v8_bindings",
"//third_party/blink/renderer/modules/mediarecorder:buildflags", "//third_party/blink/renderer/modules/mediarecorder:buildflags",
"//third_party/dawn/src/dawn:dawn_headers", "//third_party/dawn/src/dawn:dawn_headers",
] ]
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
import("//build/config/chrome_build.gni") import("//build/config/chrome_build.gni")
import("//third_party/blink/renderer/bindings/bindings.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/core/core_idl_files.gni")
import("//third_party/blink/renderer/modules/modules_idl_files.gni") import("//third_party/blink/renderer/modules/modules_idl_files.gni")
...@@ -163,3 +164,14 @@ generated_modules_callback_function_files = [ ...@@ -163,3 +164,14 @@ generated_modules_callback_function_files = [
bindings_generated_v8_context_snapshot_external_references_file = bindings_generated_v8_context_snapshot_external_references_file =
"$bindings_modules_v8_output_dir/v8_context_snapshot_external_references.cc" "$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