OLD | NEW |
1 # | 1 # |
2 # Copyright (C) 2013 Google Inc. All rights reserved. | 2 # Copyright (C) 2013 Google Inc. All rights reserved. |
3 # | 3 # |
4 # Redistribution and use in source and binary forms, with or without | 4 # Redistribution and use in source and binary forms, with or without |
5 # modification, are permitted provided that the following conditions are | 5 # modification, are permitted provided that the following conditions are |
6 # met: | 6 # met: |
7 # | 7 # |
8 # * Redistributions of source code must retain the above copyright | 8 # * Redistributions of source code must retain the above copyright |
9 # notice, this list of conditions and the following disclaimer. | 9 # notice, this list of conditions and the following disclaimer. |
10 # * Redistributions in binary form must reproduce the above | 10 # * Redistributions in binary form must reproduce the above |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 ], | 93 ], |
94 }, | 94 }, |
95 | 95 |
96 'target_defaults': { | 96 'target_defaults': { |
97 'variables': { | 97 'variables': { |
98 'optimize': 'max', | 98 'optimize': 'max', |
99 }, | 99 }, |
100 }, | 100 }, |
101 | 101 |
102 'targets': [{ | 102 'targets': [{ |
103 'target_name': 'supplemental_dependencies', | 103 'target_name': 'interface_dependencies', |
104 'type': 'none', | 104 'type': 'none', |
105 'actions': [{ | 105 'actions': [{ |
106 'action_name': 'generatePartialInterfacesDependency', | 106 'action_name': 'compute_interface_dependencies', |
107 'variables': { | 107 'variables': { |
108 # Write sources into a file, so that the action command line won't | 108 # Write sources into a file, so that the action command line won't |
109 # exceed OS limits. | 109 # exceed OS limits. |
110 'idl_files_list': '<|(idl_files_list.tmp <@(idl_files))', | 110 'idl_files_list': '<|(idl_files_list.tmp <@(idl_files))', |
111 }, | 111 }, |
112 'inputs': [ | 112 'inputs': [ |
113 'scripts/preprocess_idls.py', | 113 'scripts/compute_dependencies.py', |
114 '<(idl_files_list)', | 114 '<(idl_files_list)', |
115 '<!@(cat <(idl_files_list))', | 115 '<!@(cat <(idl_files_list))', |
116 ], | 116 ], |
117 'outputs': [ | 117 'outputs': [ |
118 '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', | 118 '<(SHARED_INTERMEDIATE_DIR)/InterfaceDependencies.txt', |
119 '<@(generated_global_constructors_idl_files)', | 119 '<@(generated_global_constructors_idl_files)', |
120 '<(SHARED_INTERMEDIATE_DIR)/EventNames.in', | 120 '<(SHARED_INTERMEDIATE_DIR)/EventNames.in', |
121 ], | 121 ], |
122 'msvs_cygwin_shell': 0, | 122 'msvs_cygwin_shell': 0, |
123 'action': [ | 123 'action': [ |
124 'python', | 124 'python', |
125 'scripts/preprocess_idls.py', | 125 'scripts/compute_dependencies.py', |
126 '--idl-files-list', | 126 '--idl-files-list', |
127 '<(idl_files_list)', | 127 '<(idl_files_list)', |
128 '--supplemental-dependency-file', | 128 '--interface-dependencies-file', |
129 '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', | 129 '<(SHARED_INTERMEDIATE_DIR)/InterfaceDependencies.txt', |
130 '--window-constructors-file', | 130 '--window-constructors-file', |
131 '<(SHARED_INTERMEDIATE_DIR)/WindowConstructors.idl', | 131 '<(SHARED_INTERMEDIATE_DIR)/WindowConstructors.idl', |
132 '--workerglobalscope-constructors-file', | 132 '--workerglobalscope-constructors-file', |
133 '<(SHARED_INTERMEDIATE_DIR)/WorkerGlobalScopeConstructors.idl', | 133 '<(SHARED_INTERMEDIATE_DIR)/WorkerGlobalScopeConstructors.idl', |
134 '--sharedworkerglobalscope-constructors-file', | 134 '--sharedworkerglobalscope-constructors-file', |
135 '<(SHARED_INTERMEDIATE_DIR)/SharedWorkerGlobalScopeConstructors.idl', | 135 '<(SHARED_INTERMEDIATE_DIR)/SharedWorkerGlobalScopeConstructors.idl', |
136 '--dedicatedworkerglobalscope-constructors-file', | 136 '--dedicatedworkerglobalscope-constructors-file', |
137 '<(SHARED_INTERMEDIATE_DIR)/DedicatedWorkerGlobalScopeConstructors.idl'
, | 137 '<(SHARED_INTERMEDIATE_DIR)/DedicatedWorkerGlobalScopeConstructors.idl'
, |
138 '--event-names-file', | 138 '--event-names-file', |
139 '<(SHARED_INTERMEDIATE_DIR)/EventNames.in', | 139 '<(SHARED_INTERMEDIATE_DIR)/EventNames.in', |
140 '<@(write_file_only_if_changed)', | 140 '<@(write_file_only_if_changed)', |
141 ], | 141 ], |
142 'message': 'Resolving partial interfaces dependencies in all IDL files', | 142 'message': 'Resolving partial interfaces dependencies in all IDL files', |
143 }] | 143 }] |
144 }, | 144 }, |
145 { | 145 { |
146 'target_name': 'bindings_sources', | 146 'target_name': 'bindings_sources', |
147 'type': 'none', | 147 'type': 'none', |
148 # The 'binding' rule generates .h files, so mark as hard_dependency, per: | 148 # The 'binding' rule generates .h files, so mark as hard_dependency, per: |
149 # https://code.google.com/p/gyp/wiki/InputFormatReference#Linking_Dependen
cies | 149 # https://code.google.com/p/gyp/wiki/InputFormatReference#Linking_Dependen
cies |
150 'hard_dependency': 1, | 150 'hard_dependency': 1, |
151 'dependencies': [ | 151 'dependencies': [ |
152 'supplemental_dependencies', | 152 'interface_dependencies', |
153 '../core/core_derived_sources.gyp:generate_test_support_idls', | 153 '../core/core_derived_sources.gyp:generate_test_support_idls', |
154 ], | 154 ], |
155 'sources': [ | 155 'sources': [ |
156 '<@(idl_files)', | 156 '<@(idl_files)', |
157 '<@(webcore_test_support_idl_files)', | 157 '<@(webcore_test_support_idl_files)', |
158 ], | 158 ], |
159 'rules': [{ | 159 'rules': [{ |
160 'rule_name': 'binding', | 160 'rule_name': 'binding', |
161 'extension': 'idl', | 161 'extension': 'idl', |
162 'msvs_external_rule': 1, | 162 'msvs_external_rule': 1, |
163 'inputs': [ | 163 'inputs': [ |
164 'scripts/generate-bindings.pl', | 164 'scripts/generate-bindings.pl', |
165 'scripts/CodeGeneratorV8.pm', | 165 'scripts/CodeGeneratorV8.pm', |
166 'scripts/IDLParser.pm', | 166 'scripts/IDLParser.pm', |
167 'scripts/IDLSerializer.pm', | 167 'scripts/IDLSerializer.pm', |
168 '../core/scripts/preprocessor.pm', | 168 '../core/scripts/preprocessor.pm', |
169 'scripts/IDLAttributes.txt', | 169 'scripts/IDLAttributes.txt', |
170 # FIXME: If the dependency structure changes, we rebuild all files, | 170 # FIXME: If the dependency structure changes, we rebuild all files, |
171 # since we're not computing dependencies file-by-file in the build. | 171 # since we're not computing dependencies file-by-file in the build. |
172 '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', | 172 '<(SHARED_INTERMEDIATE_DIR)/InterfaceDependencies.txt', |
173 # FIXME: Similarly, if any partial interface changes, rebuild | 173 # FIXME: Similarly, if any partial interface changes, rebuild |
174 # everything, since every IDL potentially depends on them, because | 174 # everything, since every IDL potentially depends on them, because |
175 # we're not computing dependencies file-by-file. | 175 # we're not computing dependencies file-by-file. |
176 '<!@pymod_do_main(supplemental_idl_files <@(idl_files))', | 176 # |
| 177 # If a new partial interface is added, need to regyp to update these |
| 178 # dependencies, as these are computed statically at gyp runtime. |
| 179 '<!@pymod_do_main(list_idl_files_with_partial_interface <@(idl_files))
', |
177 # Generated IDLs are all partial interfaces, hence everything | 180 # Generated IDLs are all partial interfaces, hence everything |
178 # potentially depends on them. | 181 # potentially depends on them. |
179 '<@(generated_global_constructors_idl_files)', | 182 '<@(generated_global_constructors_idl_files)', |
180 ], | 183 ], |
181 'outputs': [ | 184 'outputs': [ |
182 '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8<(RULE_INPUT_ROOT).cpp', | 185 '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8<(RULE_INPUT_ROOT).cpp', |
183 '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8<(RULE_INPUT_ROOT).h', | 186 '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8<(RULE_INPUT_ROOT).h', |
184 ], | 187 ], |
185 'variables': { | 188 'variables': { |
186 # IDL include paths. The generator will search recursively for IDL | 189 # IDL include paths. The generator will search recursively for IDL |
(...skipping 18 matching lines...) Expand all Loading... |
205 '-I../../../JSON/out/lib/perl5', | 208 '-I../../../JSON/out/lib/perl5', |
206 'scripts/generate-bindings.pl', | 209 'scripts/generate-bindings.pl', |
207 '--outputDir', | 210 '--outputDir', |
208 '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings', | 211 '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings', |
209 '--idlAttributesFile', | 212 '--idlAttributesFile', |
210 'scripts/IDLAttributes.txt', | 213 'scripts/IDLAttributes.txt', |
211 '--defines', | 214 '--defines', |
212 '<(feature_defines)', | 215 '<(feature_defines)', |
213 '<@(generator_include_dirs)', | 216 '<@(generator_include_dirs)', |
214 '<@(extra_blink_generator_include_dirs)', | 217 '<@(extra_blink_generator_include_dirs)', |
215 '--supplementalDependencyFile', | 218 '--interfaceDependenciesFile', |
216 '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', | 219 '<(SHARED_INTERMEDIATE_DIR)/InterfaceDependencies.txt', |
217 '--additionalIdlFiles', | 220 '--additionalIdlFiles', |
218 '<(webcore_test_support_idl_files)', | 221 '<(webcore_test_support_idl_files)', |
219 '<@(preprocessor)', | 222 '<@(preprocessor)', |
220 '<@(write_file_only_if_changed)', | 223 '<@(write_file_only_if_changed)', |
221 '<(RULE_INPUT_PATH)', | 224 '<(RULE_INPUT_PATH)', |
222 ], | 225 ], |
223 'message': 'Generating binding from <(RULE_INPUT_PATH)', | 226 'message': 'Generating binding from <(RULE_INPUT_PATH)', |
224 }], | 227 }], |
225 }, | 228 }, |
226 { | 229 { |
227 'target_name': 'bindings_derived_sources', | 230 'target_name': 'bindings_derived_sources', |
228 'type': 'none', | 231 'type': 'none', |
229 'dependencies': [ | 232 'dependencies': [ |
230 'supplemental_dependencies', | 233 'interface_dependencies', |
231 'bindings_sources', | 234 'bindings_sources', |
232 ], | 235 ], |
233 'actions': [{ | 236 'actions': [{ |
234 'action_name': 'derived_sources_all_in_one', | 237 'action_name': 'derived_sources_all_in_one', |
235 'inputs': [ | 238 'inputs': [ |
236 '../core/scripts/action_derivedsourcesallinone.py', | 239 '../core/scripts/action_derivedsourcesallinone.py', |
237 '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', | 240 '<(SHARED_INTERMEDIATE_DIR)/InterfaceDependencies.txt', |
238 ], | 241 ], |
239 'outputs': [ | 242 'outputs': [ |
240 '<@(derived_sources_aggregate_files)', | 243 '<@(derived_sources_aggregate_files)', |
241 ], | 244 ], |
242 'action': [ | 245 'action': [ |
243 'python', | 246 'python', |
244 '../core/scripts/action_derivedsourcesallinone.py', | 247 '../core/scripts/action_derivedsourcesallinone.py', |
245 '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', | 248 '<(SHARED_INTERMEDIATE_DIR)/InterfaceDependencies.txt', |
246 '--', | 249 '--', |
247 '<@(derived_sources_aggregate_files)', | 250 '<@(derived_sources_aggregate_files)', |
248 ], | 251 ], |
249 'message': 'Generating bindings derived sources', | 252 'message': 'Generating bindings derived sources', |
250 }], | 253 }], |
251 }, | 254 }, |
252 ], | 255 ], |
253 } | 256 } |
OLD | NEW |