OLD | NEW |
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/config.gni") | 5 import("//third_party/WebKit/Source/config.gni") |
6 | 6 |
7 # All paths in this file should be absolute so targets in any directory can use | 7 # All paths in this file should be absolute so targets in any directory can use |
8 # them without worrying about the current directory. | 8 # them without worrying about the current directory. |
9 _scripts_dir = "//third_party/WebKit/Source/build/scripts" | 9 _scripts_dir = "//third_party/WebKit/Source/build/scripts" |
10 | 10 |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 _blink_gen_dir = "$root_gen_dir/blink" | 78 _blink_gen_dir = "$root_gen_dir/blink" |
79 _rel_blink_gen_dir = rebase_path(_blink_gen_dir, root_build_dir) | 79 _rel_blink_gen_dir = rebase_path(_blink_gen_dir, root_build_dir) |
80 | 80 |
81 # The GYP target make_core_generated has some deps and a bunch of actions on | 81 # The GYP target make_core_generated has some deps and a bunch of actions on |
82 # it, which means that the deps will be resolved before the actions run. Here | 82 # it, which means that the deps will be resolved before the actions run. Here |
83 # we have separate targets for each action. Its not clear which actions depend | 83 # we have separate targets for each action. Its not clear which actions depend |
84 # on these deps, so for GYP compatibility, all of the below actions should | 84 # on these deps, so for GYP compatibility, all of the below actions should |
85 # depend on the following deps. | 85 # depend on the following deps. |
86 make_core_generated_deps = [ | 86 make_core_generated_deps = [ |
87 "//third_party/WebKit/Source/core:generated_testing_idls", | 87 "//third_party/WebKit/Source/core:generated_testing_idls", |
88 "//third_party/WebKit/Source/bindings:core_bindings_generated", | 88 "//third_party/WebKit/Source/core:core_event_interfaces", |
89 ] | 89 ] |
90 | 90 |
91 # Template to run most of scripts that process "*.in" files. | 91 # Template to run most of scripts that process "*.in" files. |
92 # script: script to run. | 92 # script: script to run. |
93 # in_files: ".in" files to pass to the script | 93 # in_files: ".in" files to pass to the script |
94 # other_inputs: (optional) other input files the script depends on | 94 # other_inputs: (optional) other input files the script depends on |
95 # defaults to "scripts_for_in_files" (if specified, we assume | 95 # defaults to "scripts_for_in_files" (if specified, we assume |
96 # that the contents of "scripts_for_in_files" are included in | 96 # that the contents of "scripts_for_in_files" are included in |
97 # this list specified since this is how these lists are filled | 97 # this list specified since this is how these lists are filled |
98 # from the GYP build. | 98 # from the GYP build. |
99 # outputs: expected results relative to the blink_gen_dir | 99 # outputs: expected results |
100 # other_args: (optional) other arguements to pass to the script. | 100 # other_args: (optional) other arguements to pass to the script. |
101 template("process_in_files") { | 101 template("process_in_files") { |
102 action(target_name) { | 102 action(target_name) { |
103 script = invoker.script | 103 script = invoker.script |
104 | 104 |
105 source_prereqs = invoker.in_files | 105 source_prereqs = invoker.in_files |
106 if (defined(invoker.other_inputs)) { | 106 if (defined(invoker.other_inputs)) { |
107 source_prereqs += invoker.other_inputs | 107 source_prereqs += invoker.other_inputs |
108 } else { | 108 } else { |
109 source_prereqs += scripts_for_in_files | 109 source_prereqs += scripts_for_in_files |
110 } | 110 } |
111 outputs = rebase_path(invoker.outputs, ".", _blink_gen_dir) | 111 outputs = invoker.outputs |
112 | 112 |
113 args = rebase_path(invoker.in_files, root_build_dir) + [ | 113 args = rebase_path(invoker.in_files, root_build_dir) + [ |
114 "--output_dir", _rel_blink_gen_dir, | 114 "--output_dir", _rel_blink_gen_dir, |
115 ] | 115 ] |
116 if (defined(invoker.other_args)) { | 116 if (defined(invoker.other_args)) { |
117 args += invoker.other_args | 117 args += invoker.other_args |
118 } | 118 } |
119 | 119 |
120 deps = make_core_generated_deps | 120 deps = make_core_generated_deps |
121 } | 121 } |
122 } | 122 } |
123 | 123 |
124 # Template to run the make_names script. This is a special case of | 124 # Template to run the make_names script. This is a special case of |
125 # process_in_files. | 125 # process_in_files. |
126 # in_files: files to pass to the script | 126 # in_files: files to pass to the script |
127 # outputs: expected results relative to the blink_gen_dir | 127 # outputs: expected results |
128 template("make_names") { | 128 template("make_names") { |
129 process_in_files(target_name) { | 129 process_in_files(target_name) { |
130 script = "//third_party/WebKit/Source/build/scripts/make_names.py" | 130 script = "//third_party/WebKit/Source/build/scripts/make_names.py" |
131 in_files = invoker.in_files | 131 in_files = invoker.in_files |
132 other_inputs = make_names_files | 132 other_inputs = make_names_files |
133 outputs = invoker.outputs | 133 outputs = invoker.outputs |
134 other_args = [ "--defines", feature_defines_string ] | 134 other_args = [ "--defines", feature_defines_string ] |
135 } | 135 } |
136 } | 136 } |
137 | 137 |
138 # Template to run the make_qualified_names script. This is a special case of | 138 # Template to run the make_qualified_names script. This is a special case of |
139 # process_in_files. | 139 # process_in_files. |
140 # in_files: list of ".in" files to process. | 140 # in_files: list of ".in" files to process. |
141 # outputs: list of output files relative to blink_gen_dir. | 141 # outputs: list of output files |
142 template("make_qualified_names") { | 142 template("make_qualified_names") { |
143 process_in_files(target_name) { | 143 process_in_files(target_name) { |
144 script = "//third_party/WebKit/Source/build/scripts/make_qualified_names.py" | 144 script = "//third_party/WebKit/Source/build/scripts/make_qualified_names.py" |
145 in_files = invoker.in_files | 145 in_files = invoker.in_files |
146 other_inputs = make_qualified_names_files | 146 other_inputs = make_qualified_names_files |
147 outputs = invoker.outputs | 147 outputs = invoker.outputs |
148 other_args = [ "--defines", feature_defines_string ] | 148 other_args = [ "--defines", feature_defines_string ] |
149 } | 149 } |
150 } | 150 } |
151 | 151 |
152 # Calls the make_event_factory script. This is a special case of | 152 # Calls the make_event_factory script. This is a special case of |
153 # process_in_files. | 153 # process_in_files. |
154 # in_files: list of ".in" files to process. | 154 # in_files: list of ".in" files to process. |
155 # outputs: list of output files relative to blink_gen_dir. | 155 # outputs: list of output files |
156 template("make_event_factory") { | 156 template("make_event_factory") { |
157 process_in_files(target_name) { | 157 process_in_files(target_name) { |
158 script = "//third_party/WebKit/Source/build/scripts/make_event_factory.py" | 158 script = "//third_party/WebKit/Source/build/scripts/make_event_factory.py" |
159 in_files = invoker.in_files | 159 in_files = invoker.in_files |
160 other_inputs = make_event_factory_files | 160 other_inputs = make_event_factory_files |
161 outputs = invoker.outputs | 161 outputs = invoker.outputs |
162 } | 162 } |
163 } | 163 } |
164 | 164 |
165 # Calls the make_token_matcher script. | 165 # Calls the make_token_matcher script. |
166 # input_file: The "*-in.cpp" file | 166 # input_file: The "*-in.cpp" file |
167 # output_file: The output file (relative to the build_gen_dir) | 167 # output_file: The output file |
168 template("make_token_matcher") { | 168 template("make_token_matcher") { |
169 action(target_name) { | 169 action(target_name) { |
170 script = "//third_party/WebKit/Source/build/scripts/make_token_matcher.py" | 170 script = "//third_party/WebKit/Source/build/scripts/make_token_matcher.py" |
171 | 171 |
172 source_prereqs = scripts_for_in_files + [ invoker.input_file ] | 172 source_prereqs = scripts_for_in_files + [ invoker.input_file ] |
173 outputs = [ | 173 outputs = [ invoker.output_file ] |
174 rebase_path(invoker.output_file, ".", _blink_gen_dir) | |
175 ] | |
176 | 174 |
177 args = [ | 175 args = [ |
178 rebase_path(invoker.input_file, root_build_dir), | 176 rebase_path(invoker.input_file, root_build_dir), |
179 rebase_path(invoker.output_file, root_build_dir, _blink_gen_dir), | 177 rebase_path(invoker.output_file, root_build_dir, _blink_gen_dir), |
180 ] | 178 ] |
181 | 179 |
182 deps = make_core_generated_deps | 180 deps = make_core_generated_deps |
183 } | 181 } |
184 } | 182 } |
185 | 183 |
186 # Calls generate_event_interfaces | |
187 # sources: A list of IDL files to process. | |
188 # output_file: The .in file to write, relative to the blink_gen_dir. | |
189 # suffix: (Optional) String to be passed to script via --suffix | |
190 template("generate_event_interfaces") { | |
191 action(target_name) { | |
192 # Write the file list to a unique temp file to avoid blowing out the | |
193 # command line length limit. | |
194 idl_files_list = "$target_gen_dir/${target_name}_file_list.tmp" | |
195 write_file(idl_files_list, | |
196 rebase_path(invoker.sources, root_build_dir)) | |
197 | |
198 source_prereqs = [ | |
199 "//third_party/WebKit/Source/bindings/scripts/utilities.py", | |
200 idl_files_list, | |
201 ] + invoker.sources | |
202 | |
203 output_file = "$_blink_gen_dir/" + invoker.output_file | |
204 outputs = [ output_file ] | |
205 | |
206 script = "//third_party/WebKit/Source/bindings/scripts/generate_event_interf
aces.py" | |
207 args = [ | |
208 "--event-idl-files-list", | |
209 rebase_path(idl_files_list, root_build_dir), | |
210 "--event-interfaces-file", | |
211 rebase_path(output_file, root_build_dir), | |
212 "--write-file-only-if-changed=1", # Always true for Ninja. | |
213 ] | |
214 | |
215 if (defined(invoker.suffix)) { | |
216 args += [ "--suffix", invoker.suffix ] | |
217 } | |
218 } | |
219 } | |
OLD | NEW |