| Index: Source/bindings/generated_bindings.gyp
|
| diff --git a/Source/bindings/generated_bindings.gyp b/Source/bindings/generated_bindings.gyp
|
| index ab11178b9cbe76e76c3cdea3195cc162c9f9a8bd..a8f089b34814ec722103ce92dd09136136f1a830 100644
|
| --- a/Source/bindings/generated_bindings.gyp
|
| +++ b/Source/bindings/generated_bindings.gyp
|
| @@ -28,6 +28,12 @@
|
| # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| #
|
|
|
| +# Generate IDL bindings, together with auxiliary files
|
| +# (constructors on global objects, aggregate bindings files).
|
| +#
|
| +# Design doc:
|
| +# https://sites.google.com/a/chromium.org/dev/developers/design-documents/idl-build
|
| +
|
| {
|
| 'includes': [
|
| '../build/scripts/scripts.gypi',
|
| @@ -53,11 +59,8 @@
|
| '<@(static_dependency_idl_files)',
|
| '<@(generated_dependency_idl_files)',
|
| ],
|
| - # Include in aggregate bindings (exclude testing)
|
| - # The only differences for testing files are:
|
| - # * They are not included in aggregate bindings (excluded from below list)
|
| - # * They do not appear as a property on the global object (Window):
|
| - # specify [NoInterfaceObject] on the interface in the .idl file
|
| + # Main interface IDL files (excluding dependencies and testing)
|
| + # are included as properties on global objects, and in aggregate bindings
|
| 'main_interface_idl_files': [
|
| '<@(core_idl_files)',
|
| '<@(modules_idl_files)',
|
| @@ -74,8 +77,7 @@
|
| ],
|
| 'generated_idl_files': [
|
| '<@(generated_interface_idl_files)',
|
| - # FIXME: generate global constructors *before* computing dependencies
|
| - # '<@(generated_dependency_idl_files)',
|
| + '<@(generated_dependency_idl_files)',
|
| ],
|
|
|
| # Static IDL files
|
| @@ -99,11 +101,11 @@
|
| ],
|
|
|
| 'generated_global_constructors_idl_files': [
|
| - '<(SHARED_INTERMEDIATE_DIR)/blink/WindowConstructors.idl',
|
| - '<(SHARED_INTERMEDIATE_DIR)/blink/WorkerGlobalScopeConstructors.idl',
|
| - '<(SHARED_INTERMEDIATE_DIR)/blink/SharedWorkerGlobalScopeConstructors.idl',
|
| - '<(SHARED_INTERMEDIATE_DIR)/blink/DedicatedWorkerGlobalScopeConstructors.idl',
|
| - '<(SHARED_INTERMEDIATE_DIR)/ServiceWorkerGlobalScopeConstructors.idl',
|
| + '<(SHARED_INTERMEDIATE_DIR)/blink/WindowConstructors.idl',
|
| + '<(SHARED_INTERMEDIATE_DIR)/blink/WorkerGlobalScopeConstructors.idl',
|
| + '<(SHARED_INTERMEDIATE_DIR)/blink/SharedWorkerGlobalScopeConstructors.idl',
|
| + '<(SHARED_INTERMEDIATE_DIR)/blink/DedicatedWorkerGlobalScopeConstructors.idl',
|
| + '<(SHARED_INTERMEDIATE_DIR)/ServiceWorkerGlobalScopeConstructors.idl',
|
| ],
|
|
|
| 'compiler_module_files': [
|
| @@ -170,13 +172,56 @@
|
| },
|
|
|
| 'targets': [{
|
| - 'target_name': 'interface_dependencies',
|
| + 'target_name': 'global_constructors_idls',
|
| + 'type': 'none',
|
| + 'actions': [{
|
| + 'action_name': 'generate_global_constructors_idls',
|
| + 'variables': {
|
| + # Write list of IDL files to a file, so that the command line doesn't
|
| + # exceed OS length limits.
|
| + # Only includes main IDL files (exclude dependencies and testing,
|
| + # which should not appear on global objects).
|
| + 'main_interface_idl_files_list': '<|(main_interface_idl_files_list.tmp <@(main_interface_idl_files))',
|
| + },
|
| + 'inputs': [
|
| + 'scripts/generate_global_constructors.py',
|
| + 'scripts/utilities.py',
|
| + '<(main_interface_idl_files_list)',
|
| + '<@(main_interface_idl_files)',
|
| + ],
|
| + 'outputs': [
|
| + '<@(generated_global_constructors_idl_files)',
|
| + ],
|
| + 'action': [
|
| + 'python',
|
| + 'scripts/generate_global_constructors.py',
|
| + '--idl-files-list',
|
| + '<(main_interface_idl_files_list)',
|
| + '<@(write_file_only_if_changed)',
|
| + '--',
|
| + 'Window',
|
| + '<(SHARED_INTERMEDIATE_DIR)/blink/WindowConstructors.idl',
|
| + 'WorkerGlobalScope',
|
| + '<(SHARED_INTERMEDIATE_DIR)/blink/WorkerGlobalScopeConstructors.idl',
|
| + 'SharedWorkerGlobalScope',
|
| + '<(SHARED_INTERMEDIATE_DIR)/blink/SharedWorkerGlobalScopeConstructors.idl',
|
| + 'DedicatedWorkerGlobalScope',
|
| + '<(SHARED_INTERMEDIATE_DIR)/blink/DedicatedWorkerGlobalScopeConstructors.idl',
|
| + 'ServiceWorkerGlobalScope',
|
| + '<(SHARED_INTERMEDIATE_DIR)/ServiceWorkerGlobalScopeConstructors.idl',
|
| + ],
|
| + 'message': 'Generating IDL files for interface properties on global objects',
|
| + }]
|
| + },
|
| + {
|
| + 'target_name': 'interfaces_info',
|
| 'type': 'none',
|
| 'dependencies': [
|
| + 'global_constructors_idls',
|
| '../core/core_generated.gyp:generated_testing_idls',
|
| ],
|
| 'actions': [{
|
| - 'action_name': 'compute_interface_dependencies',
|
| + 'action_name': 'compute_interfaces_info',
|
| 'variables': {
|
| # Write list of static IDL files to a file, so that the command line
|
| # doesn't exceed OS length limits.
|
| @@ -185,43 +230,33 @@
|
| 'idl_files_list': '<|(idl_files_list.tmp <@(static_idl_files))',
|
| },
|
| 'inputs': [
|
| - 'scripts/compute_dependencies.py',
|
| + 'scripts/compute_interfaces_info.py',
|
| + 'scripts/utilities.py',
|
| '<(idl_files_list)',
|
| '<@(static_idl_files)',
|
| '<@(generated_idl_files)',
|
| - ],
|
| - 'outputs': [
|
| - '<(SHARED_INTERMEDIATE_DIR)/blink/InterfaceDependencies.txt',
|
| - '<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle',
|
| - '<@(generated_global_constructors_idl_files)',
|
| - '<(SHARED_INTERMEDIATE_DIR)/blink/EventInterfaces.in',
|
| - ],
|
| - 'action': [
|
| - 'python',
|
| - 'scripts/compute_dependencies.py',
|
| - '--idl-files-list',
|
| - '<(idl_files_list)',
|
| - '--interface-dependencies-file',
|
| - '<(SHARED_INTERMEDIATE_DIR)/blink/InterfaceDependencies.txt',
|
| - '--interfaces-info-file',
|
| - '<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle',
|
| - '--window-constructors-file',
|
| - '<(SHARED_INTERMEDIATE_DIR)/blink/WindowConstructors.idl',
|
| - '--workerglobalscope-constructors-file',
|
| - '<(SHARED_INTERMEDIATE_DIR)/blink/WorkerGlobalScopeConstructors.idl',
|
| - '--sharedworkerglobalscope-constructors-file',
|
| - '<(SHARED_INTERMEDIATE_DIR)/blink/SharedWorkerGlobalScopeConstructors.idl',
|
| - '--dedicatedworkerglobalscope-constructors-file',
|
| - '<(SHARED_INTERMEDIATE_DIR)/blink/DedicatedWorkerGlobalScopeConstructors.idl',
|
| - '--serviceworkerglobalscope-constructors-file',
|
| - '<(SHARED_INTERMEDIATE_DIR)/ServiceWorkerGlobalScopeConstructors.idl',
|
| - '--event-names-file',
|
| - '<(SHARED_INTERMEDIATE_DIR)/blink/EventInterfaces.in',
|
| - '<@(write_file_only_if_changed)',
|
| - '--',
|
| - '<@(generated_idl_files)',
|
| - ],
|
| - 'message': 'Computing dependencies between IDL files, and generating global scope constructor IDLs files and list of Event interfaces',
|
| + ],
|
| + 'outputs': [
|
| + '<(SHARED_INTERMEDIATE_DIR)/blink/InterfaceDependencies.txt',
|
| + '<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle',
|
| + '<(SHARED_INTERMEDIATE_DIR)/blink/EventInterfaces.in',
|
| + ],
|
| + 'action': [
|
| + 'python',
|
| + 'scripts/compute_interfaces_info.py',
|
| + '--idl-files-list',
|
| + '<(idl_files_list)',
|
| + '--interface-dependencies-file',
|
| + '<(SHARED_INTERMEDIATE_DIR)/blink/InterfaceDependencies.txt',
|
| + '--interfaces-info-file',
|
| + '<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle',
|
| + '--event-names-file',
|
| + '<(SHARED_INTERMEDIATE_DIR)/blink/EventInterfaces.in',
|
| + '<@(write_file_only_if_changed)',
|
| + '--',
|
| + '<@(generated_idl_files)',
|
| + ],
|
| + 'message': 'Computing global information about IDL files, and generating list of Event interfaces',
|
| }]
|
| },
|
| {
|
| @@ -231,7 +266,7 @@
|
| # https://code.google.com/p/gyp/wiki/InputFormatReference#Linking_Dependencies
|
| 'hard_dependency': 1,
|
| 'dependencies': [
|
| - 'interface_dependencies',
|
| + 'interfaces_info',
|
| '../core/core_generated.gyp:generated_testing_idls',
|
| ],
|
| 'sources': [
|
| @@ -259,7 +294,7 @@
|
| # 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.
|
| + # compute this file-by-file. http://crbug.com/341748
|
| '<@(dependency_idl_files)',
|
| ],
|
| 'outputs': [
|
|
|