Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1477)

Side by Side Diff: third_party/WebKit/Source/bindings/scripts/scripts.gni

Issue 1406153017: gn format '.gni' files. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import("//third_party/WebKit/Source/bindings/core/v8/generated.gni") 5 import("//third_party/WebKit/Source/bindings/core/v8/generated.gni")
6 import("//third_party/WebKit/Source/bindings/modules/idl.gni") 6 import("//third_party/WebKit/Source/bindings/modules/idl.gni")
7 import("//third_party/WebKit/Source/bindings/modules/modules.gni") 7 import("//third_party/WebKit/Source/bindings/modules/modules.gni")
8 8
9 bindings_scripts_dir = get_path_info(".", "abspath") 9 bindings_scripts_dir = get_path_info(".", "abspath")
10 bindings_scripts_output_dir = "$root_gen_dir/blink/bindings/scripts" 10 bindings_scripts_output_dir = "$root_gen_dir/blink/bindings/scripts"
11 11
12 # Replacing <(DEPTH) with "/" makes paths like "<(DEPTH)/foo" absolute. 12 # Replacing <(DEPTH) with "/" makes paths like "<(DEPTH)/foo" absolute.
13 _gypi = exec_script( 13 _gypi = exec_script("//build/gypi_to_gn.py",
14 "//build/gypi_to_gn.py", 14 [
15 [ rebase_path("scripts.gypi"), 15 rebase_path("scripts.gypi"),
16 "--replace=<(DEPTH)=/" ], 16 "--replace=<(DEPTH)=/",
17 "scope", 17 ],
18 [ "scripts.gypi" ]) 18 "scope",
19 [ "scripts.gypi" ])
19 20
20 jinja_module_files = get_path_info(_gypi.jinja_module_files, "abspath") 21 jinja_module_files = get_path_info(_gypi.jinja_module_files, "abspath")
21 idl_lexer_parser_files = get_path_info(_gypi.idl_lexer_parser_files, "abspath") 22 idl_lexer_parser_files = get_path_info(_gypi.idl_lexer_parser_files, "abspath")
22 idl_compiler_files = get_path_info(_gypi.idl_compiler_files, "abspath") 23 idl_compiler_files = get_path_info(_gypi.idl_compiler_files, "abspath")
23 24
24 # Calls the compute_interfaces_info_individual script. 25 # Calls the compute_interfaces_info_individual script.
25 # 26 #
26 # Parameters: 27 # Parameters:
27 # sources_static = list of IDL files to pass as inputs 28 # sources_static = list of IDL files to pass as inputs
28 # sources_generated = list of generated IDL files to pass as inputs 29 # sources_generated = list of generated IDL files to pass as inputs
(...skipping 11 matching lines...) Expand all
40 if (defined(invoker.visibility)) { 41 if (defined(invoker.visibility)) {
41 visibility = invoker.visibility 42 visibility = invoker.visibility
42 } 43 }
43 44
44 # Save static list to temp file to avoid blowing out command-line length 45 # Save static list to temp file to avoid blowing out command-line length
45 # limit. 46 # limit.
46 file_list = "$target_gen_dir/${target_name}_file_list.txt" 47 file_list = "$target_gen_dir/${target_name}_file_list.txt"
47 write_file(file_list, rebase_path(invoker.sources_static, root_build_dir)) 48 write_file(file_list, rebase_path(invoker.sources_static, root_build_dir))
48 49
49 inputs = [ 50 inputs = [
50 "$bindings_scripts_dir/utilities.py", 51 "$bindings_scripts_dir/utilities.py",
51 file_list, 52 file_list,
52 ] + invoker.sources_static + invoker.sources_generated 53 ] + invoker.sources_static + invoker.sources_generated
53 54
54 outputs = [ 55 outputs = [
55 invoker.interfaces_info_file, 56 invoker.interfaces_info_file,
56 invoker.component_info_file, 57 invoker.component_info_file,
57 ] 58 ]
58 59
59 args = [ 60 args = [
60 "--cache-directory", 61 "--cache-directory",
61 rebase_path(bindings_scripts_output_dir, root_build_dir), 62 rebase_path(bindings_scripts_output_dir, root_build_dir),
62 "--idl-files-list", rebase_path(file_list, root_build_dir), 63 "--idl-files-list",
63 "--interfaces-info-file", 64 rebase_path(file_list, root_build_dir),
64 rebase_path(invoker.interfaces_info_file, root_build_dir), 65 "--interfaces-info-file",
65 "--component-info-file", 66 rebase_path(invoker.interfaces_info_file, root_build_dir),
66 rebase_path(invoker.component_info_file, root_build_dir), 67 "--component-info-file",
67 "--write-file-only-if-changed=1", 68 rebase_path(invoker.component_info_file, root_build_dir),
68 "--", 69 "--write-file-only-if-changed=1",
69 ] + rebase_path(invoker.sources_generated, root_build_dir) 70 "--",
71 ] + rebase_path(invoker.sources_generated, root_build_dir)
70 72
71 deps = [ 73 deps = [ "//third_party/WebKit/Source/bindings/scripts:cached_lex_yacc_table s" ] + invoker.deps
72 "//third_party/WebKit/Source/bindings/scripts:cached_lex_yacc_tables",
73 ] + invoker.deps
74 } 74 }
75 } 75 }
76 76
77 # Calls generate_event_interfaces 77 # Calls generate_event_interfaces
78 # 78 #
79 # Parameters: 79 # Parameters:
80 # sources = A list of IDL files to process. 80 # sources = A list of IDL files to process.
81 # output_file = The .in file to write, relative to the blink_gen_dir. 81 # output_file = The .in file to write, relative to the blink_gen_dir.
82 # suffix = (Optional) String to be passed to script via --suffix 82 # suffix = (Optional) String to be passed to script via --suffix
83 template("generate_event_interfaces") { 83 template("generate_event_interfaces") {
84 action(target_name) { 84 action(target_name) {
85 # Write the file list to a unique temp file to avoid blowing out the 85 # Write the file list to a unique temp file to avoid blowing out the
86 # command line length limit. 86 # command line length limit.
87 idl_files_list = "$target_gen_dir/${target_name}_file_list.tmp" 87 idl_files_list = "$target_gen_dir/${target_name}_file_list.tmp"
88 write_file(idl_files_list, 88 write_file(idl_files_list, rebase_path(invoker.sources, root_build_dir))
89 rebase_path(invoker.sources, root_build_dir))
90 89
91 inputs = [ 90 inputs = [
92 "//third_party/WebKit/Source/bindings/scripts/utilities.py", 91 "//third_party/WebKit/Source/bindings/scripts/utilities.py",
93 idl_files_list, 92 idl_files_list,
94 ] + invoker.sources 93 ] + invoker.sources
95 94
96 output_file = "$root_gen_dir/blink/" + invoker.output_file 95 output_file = "$root_gen_dir/blink/" + invoker.output_file
97 outputs = [ output_file ] 96 outputs = [
97 output_file,
98 ]
98 99
99 script = "//third_party/WebKit/Source/bindings/scripts/generate_event_interf aces.py" 100 script = "//third_party/WebKit/Source/bindings/scripts/generate_event_interf aces.py"
100 args = [ 101 args = [
101 "--event-idl-files-list", 102 "--event-idl-files-list",
102 rebase_path(idl_files_list, root_build_dir), 103 rebase_path(idl_files_list, root_build_dir),
103 "--event-interfaces-file", 104 "--event-interfaces-file",
104 rebase_path(output_file, root_build_dir), 105 rebase_path(output_file, root_build_dir),
105 "--write-file-only-if-changed=1", # Always true for Ninja. 106 "--write-file-only-if-changed=1", # Always true for Ninja.
106 ] 107 ]
107 108
108 if (defined(invoker.suffix)) { 109 if (defined(invoker.suffix)) {
109 args += [ "--suffix", invoker.suffix ] 110 args += [
111 "--suffix",
112 invoker.suffix,
113 ]
110 } 114 }
111 } 115 }
112 } 116 }
113 117
114 # Runs the idl_compiler script over a list of sources. 118 # Runs the idl_compiler script over a list of sources.
115 # 119 #
116 # Parameters: 120 # Parameters:
117 # sources = list of IDL files to compile 121 # sources = list of IDL files to compile
118 # output_dir = string containing the directory to put the output files. 122 # output_dir = string containing the directory to put the output files.
119 # output_name_suffix = a suffix after the basename of the output file names. 123 # output_name_suffix = a suffix after the basename of the output file names.
120 # target_component = component to generate code for. 124 # target_component = component to generate code for.
121 template("idl_compiler") { 125 template("idl_compiler") {
122 output_dir = invoker.output_dir 126 output_dir = invoker.output_dir
123 output_name_suffix = invoker.output_name_suffix 127 output_name_suffix = invoker.output_name_suffix
124 128
125 action_foreach(target_name) { 129 action_foreach(target_name) {
126 # TODO(brettw) GYP adds a "-S before the script name to skip "import site" t o 130 # TODO(brettw) GYP adds a "-S before the script name to skip "import site" t o
127 # speed up startup. Figure out if we need this and do something similar (not 131 # speed up startup. Figure out if we need this and do something similar (not
128 # really expressible in GN now). 132 # really expressible in GN now).
129 script = "//third_party/WebKit/Source/bindings/scripts/idl_compiler.py" 133 script = "//third_party/WebKit/Source/bindings/scripts/idl_compiler.py"
130 134
131 inputs = 135 inputs = idl_lexer_parser_files + idl_compiler_files # to be explicit (cove red by parsetab)
132 idl_lexer_parser_files + # to be explicit (covered by parsetab)
133 idl_compiler_files
134 inputs += [ 136 inputs += [
135 "$bindings_scripts_output_dir/lextab.py", 137 "$bindings_scripts_output_dir/lextab.py",
136 "$bindings_scripts_output_dir/parsetab.pickle", 138 "$bindings_scripts_output_dir/parsetab.pickle",
137 "$bindings_scripts_output_dir/cached_jinja_templates.stamp", 139 "$bindings_scripts_output_dir/cached_jinja_templates.stamp",
138 "$bindings_dir/IDLExtendedAttributes.txt", 140 "$bindings_dir/IDLExtendedAttributes.txt",
141
139 # If the dependency structure or public interface info (e.g., 142 # If the dependency structure or public interface info (e.g.,
140 # [ImplementedAs]) changes, we rebuild all files, since we're not 143 # [ImplementedAs]) changes, we rebuild all files, since we're not
141 # computing dependencies file-by-file in the build. 144 # computing dependencies file-by-file in the build.
142 # This data is generally stable. 145 # This data is generally stable.
143 "$bindings_modules_output_dir/InterfacesInfoOverall.pickle", 146 "$bindings_modules_output_dir/InterfacesInfoOverall.pickle",
144 ] 147 ]
148
145 # Further, if any dependency (partial interface or implemented 149 # Further, if any dependency (partial interface or implemented
146 # interface) changes, rebuild everything, since every IDL potentially 150 # interface) changes, rebuild everything, since every IDL potentially
147 # depends on them, because we're not computing dependencies 151 # depends on them, because we're not computing dependencies
148 # file-by-file. 152 # file-by-file.
149 # FIXME: This is too conservative, and causes excess rebuilds: 153 # FIXME: This is too conservative, and causes excess rebuilds:
150 # compute this file-by-file. http://crbug.com/341748 154 # compute this file-by-file. http://crbug.com/341748
151 # This should theoretically just be the IDL files passed in. 155 # This should theoretically just be the IDL files passed in.
152 inputs += all_dependency_idl_files 156 inputs += all_dependency_idl_files
153 157
154 sources = invoker.sources 158 sources = invoker.sources
(...skipping 10 matching lines...) Expand all
165 "--info-dir", 169 "--info-dir",
166 rebase_path("$bindings_output_dir", root_build_dir), 170 rebase_path("$bindings_output_dir", root_build_dir),
167 "--write-file-only-if-changed=1", # Always true for Ninja. 171 "--write-file-only-if-changed=1", # Always true for Ninja.
168 "--target-component", 172 "--target-component",
169 invoker.target_component, 173 invoker.target_component,
170 "{{source}}", 174 "{{source}}",
171 ] 175 ]
172 176
173 public_deps = [ 177 public_deps = [
174 "//third_party/WebKit/Source/bindings/core:core_global_constructors_idls", 178 "//third_party/WebKit/Source/bindings/core:core_global_constructors_idls",
179
175 # FIXME: should be interfaces_info_core (w/o modules) 180 # FIXME: should be interfaces_info_core (w/o modules)
176 # http://crbug.com/358074 181 # http://crbug.com/358074
177 "//third_party/WebKit/Source/bindings/modules:interfaces_info", 182 "//third_party/WebKit/Source/bindings/modules:interfaces_info",
178 "//third_party/WebKit/Source/bindings/modules:modules_core_global_construc tors_idls", 183 "//third_party/WebKit/Source/bindings/modules:modules_core_global_construc tors_idls",
179 "//third_party/WebKit/Source/bindings/modules:modules_global_constructors_ idls", 184 "//third_party/WebKit/Source/bindings/modules:modules_global_constructors_ idls",
180 185
181 "//third_party/WebKit/Source/bindings/scripts:cached_lex_yacc_tables", 186 "//third_party/WebKit/Source/bindings/scripts:cached_lex_yacc_tables",
182 "//third_party/WebKit/Source/bindings/scripts:cached_jinja_templates", 187 "//third_party/WebKit/Source/bindings/scripts:cached_jinja_templates",
183 "//third_party/WebKit/Source/core:generated_testing_idls", 188 "//third_party/WebKit/Source/core:generated_testing_idls",
184 ] 189 ]
185 } 190 }
186 } 191 }
187 192
188 # Runs the idl_compiler to generate IDL dictionary and union impl files. 193 # Runs the idl_compiler to generate IDL dictionary and union impl files.
189 # 194 #
190 # Parameters: 195 # Parameters:
191 # sources = a list of IDL files to process 196 # sources = a list of IDL files to process
192 # outputs = a list of files to write to 197 # outputs = a list of files to write to
193 # output_dir = the directory to put the output files 198 # output_dir = the directory to put the output files
194 # target_component = component to generate code for 199 # target_component = component to generate code for
195 template("idl_impl") { 200 template("idl_impl") {
196 dictionary_impl_output_dir = "$root_gen_dir/blink/" 201 dictionary_impl_output_dir = "$root_gen_dir/blink/"
197 202
198 action(target_name) { 203 action(target_name) {
199 script = "//third_party/WebKit/Source/bindings/scripts/idl_compiler.py" 204 script = "//third_party/WebKit/Source/bindings/scripts/idl_compiler.py"
200 idl_files_list = "$target_gen_dir/${target_name}_file_list.tmp" 205 idl_files_list = "$target_gen_dir/${target_name}_file_list.tmp"
201 write_file(idl_files_list, rebase_path(invoker.sources, root_build_dir)) 206 write_file(idl_files_list, rebase_path(invoker.sources, root_build_dir))
202 207
203 inputs = 208 inputs = idl_lexer_parser_files + idl_compiler_files # to be explicit (cove red by parsetab)
204 idl_lexer_parser_files + # to be explicit (covered by parsetab)
205 idl_compiler_files
206 inputs += [ 209 inputs += [
207 "$bindings_scripts_output_dir/lextab.py", 210 "$bindings_scripts_output_dir/lextab.py",
208 "$bindings_scripts_output_dir/parsetab.pickle", 211 "$bindings_scripts_output_dir/parsetab.pickle",
209 "$bindings_scripts_output_dir/cached_jinja_templates.stamp", 212 "$bindings_scripts_output_dir/cached_jinja_templates.stamp",
210 "$bindings_dir/IDLExtendedAttributes.txt", 213 "$bindings_dir/IDLExtendedAttributes.txt",
211 ] 214 ]
212 inputs += [ idl_files_list ] + invoker.sources 215 inputs += [ idl_files_list ] + invoker.sources
213 outputs = invoker.outputs 216 outputs = invoker.outputs
214 217
215 args = [ 218 args = [
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 272
270 # Calls the compute_global_objects script. 273 # Calls the compute_global_objects script.
271 # 274 #
272 # Parameters: 275 # Parameters:
273 # sources = a list of source IDL files. 276 # sources = a list of source IDL files.
274 # sources_generated = a list of generated pickle sources. 277 # sources_generated = a list of generated pickle sources.
275 # output_file = a pickle file to write to (need to specify directory) 278 # output_file = a pickle file to write to (need to specify directory)
276 # 279 #
277 template("compute_global_objects") { 280 template("compute_global_objects") {
278 action(target_name) { 281 action(target_name) {
279 script = "//third_party/WebKit/Source/bindings/scripts/compute_global_object s.py" 282 script =
283 "//third_party/WebKit/Source/bindings/scripts/compute_global_objects.py"
280 284
281 # Write the file list to a unique temp file to avoid blowing out the 285 # Write the file list to a unique temp file to avoid blowing out the
282 # command line length limit. 286 # command line length limit.
283 idl_files_list = "$target_gen_dir/${target_name}_file_list.tmp" 287 idl_files_list = "$target_gen_dir/${target_name}_file_list.tmp"
284 write_file(idl_files_list, 288 write_file(idl_files_list, rebase_path(invoker.sources, root_build_dir))
285 rebase_path(invoker.sources, root_build_dir))
286 289
287 inputs = [ 290 inputs = [
288 "//third_party/WebKit/Source/bindings/scripts/utilities.py", 291 "//third_party/WebKit/Source/bindings/scripts/utilities.py",
289 idl_files_list, 292 idl_files_list,
290 ] + invoker.sources_generated + invoker.sources 293 ] + invoker.sources_generated + invoker.sources
291 294
292 outputs = [ invoker.output_file ] 295 outputs = [
296 invoker.output_file,
297 ]
293 298
294 args = [ 299 args = [
295 "--idl-files-list", 300 "--idl-files-list",
296 rebase_path(idl_files_list, root_build_dir), 301 rebase_path(idl_files_list, root_build_dir),
297 "--write-file-only-if-changed=1", # Always true for Ninja. 302 "--write-file-only-if-changed=1", # Always true for Ninja.
298 "--", 303 "--",
299 ] 304 ]
300 args += rebase_path(invoker.sources_generated, root_build_dir) 305 args += rebase_path(invoker.sources_generated, root_build_dir)
301 args += [ rebase_path(invoker.output_file, root_build_dir) ] 306 args += [ rebase_path(invoker.output_file, root_build_dir) ]
302 307
(...skipping 11 matching lines...) Expand all
314 # output_dir = output directory to generate idl files and header files. 319 # output_dir = output directory to generate idl files and header files.
315 # deps = dependencies 320 # deps = dependencies
316 # 321 #
317 template("generate_global_constructors") { 322 template("generate_global_constructors") {
318 action(target_name) { 323 action(target_name) {
319 script = "//third_party/WebKit/Source/bindings/scripts/generate_global_const ructors.py" 324 script = "//third_party/WebKit/Source/bindings/scripts/generate_global_const ructors.py"
320 325
321 # Write the file list to a unique temp file to avoid blowing out the 326 # Write the file list to a unique temp file to avoid blowing out the
322 # command line length limit. 327 # command line length limit.
323 idl_files_list = "$target_gen_dir/${target_name}_file_list.tmp" 328 idl_files_list = "$target_gen_dir/${target_name}_file_list.tmp"
324 write_file(idl_files_list, 329 write_file(idl_files_list, rebase_path(invoker.sources, root_build_dir))
325 rebase_path(invoker.sources, root_build_dir))
326 330
327 inputs = [ 331 inputs = [
328 "//third_party/WebKit/Source/bindings/scripts/utilities.py", 332 "//third_party/WebKit/Source/bindings/scripts/utilities.py",
329 idl_files_list, 333 idl_files_list,
330 invoker.global_objects_file, 334 invoker.global_objects_file,
331 ] + invoker.sources 335 ] + invoker.sources
332 336
333 args = [ 337 args = [
334 "--idl-files-list", 338 "--idl-files-list",
335 rebase_path(idl_files_list, root_build_dir), 339 rebase_path(idl_files_list, root_build_dir),
336 "--global-objects-file", 340 "--global-objects-file",
337 rebase_path(invoker.global_objects_file, root_build_dir), 341 rebase_path(invoker.global_objects_file, root_build_dir),
338 "--write-file-only-if-changed=1", # Always true for Ninja. 342 "--write-file-only-if-changed=1", # Always true for Ninja.
339 "--", 343 "--",
340 ] 344 ]
341 345
342 output_dir = invoker.output_dir 346 output_dir = invoker.output_dir
343 component = invoker.component 347 component = invoker.component
344 348
345 # generate outputs from invoker.interfaces. 349 # generate outputs from invoker.interfaces.
346 output_idl_files = [] 350 output_idl_files = []
347 output_header_files = [] 351 output_header_files = []
348 foreach(interface, invoker.interfaces) { 352 foreach(interface, invoker.interfaces) {
349 args += [ interface ] 353 args += [ interface ]
350 output_idl_file = "$output_dir/${interface}${component}Constructors.idl" 354 output_idl_file = "$output_dir/${interface}${component}Constructors.idl"
351 args += [ rebase_path(output_idl_file, root_build_dir) ] 355 args += [ rebase_path(output_idl_file, root_build_dir) ]
352 output_idl_files += [ output_idl_file ] 356 output_idl_files += [ output_idl_file ]
353 output_header_files += [ 357 output_header_files +=
354 "$output_dir/${interface}${component}Constructors.h" 358 [ "$output_dir/${interface}${component}Constructors.h" ]
355 ]
356 } 359 }
357 360
358 outputs = output_idl_files + output_header_files 361 outputs = output_idl_files + output_header_files
359 deps = invoker.deps 362 deps = invoker.deps
360 } 363 }
361 } 364 }
362
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/bindings/modules/v8/v8.gni ('k') | third_party/WebKit/Source/bindings/templates/templates.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698