OLD | NEW |
| (Empty) |
1 # Copyright 2016 The V8 project authors. All rights reserved. | |
2 # Use of this source code is governed by a BSD-style license that can be | |
3 # found in the LICENSE file. | |
4 | |
5 import("../../gni/v8.gni") | |
6 | |
7 executable("cctest") { | |
8 testonly = true | |
9 | |
10 sources = [ | |
11 "$target_gen_dir/resources.cc", | |
12 "cctest.cc", | |
13 "compiler/c-signature.h", | |
14 "compiler/codegen-tester.cc", | |
15 "compiler/codegen-tester.h", | |
16 "compiler/function-tester.h", | |
17 "compiler/graph-builder-tester.h", | |
18 "compiler/test-basic-block-profiler.cc", | |
19 "compiler/test-branch-combine.cc", | |
20 "compiler/test-code-stub-assembler.cc", | |
21 "compiler/test-gap-resolver.cc", | |
22 "compiler/test-graph-visualizer.cc", | |
23 "compiler/test-instruction.cc", | |
24 "compiler/test-js-constant-cache.cc", | |
25 "compiler/test-js-context-specialization.cc", | |
26 "compiler/test-js-typed-lowering.cc", | |
27 "compiler/test-jump-threading.cc", | |
28 "compiler/test-linkage.cc", | |
29 "compiler/test-loop-analysis.cc", | |
30 "compiler/test-loop-assignment-analysis.cc", | |
31 "compiler/test-machine-operator-reducer.cc", | |
32 "compiler/test-multiple-return.cc", | |
33 "compiler/test-node.cc", | |
34 "compiler/test-operator.cc", | |
35 "compiler/test-osr.cc", | |
36 "compiler/test-representation-change.cc", | |
37 "compiler/test-run-bytecode-graph-builder.cc", | |
38 "compiler/test-run-calls-to-external-references.cc", | |
39 "compiler/test-run-deopt.cc", | |
40 "compiler/test-run-inlining.cc", | |
41 "compiler/test-run-intrinsics.cc", | |
42 "compiler/test-run-jsbranches.cc", | |
43 "compiler/test-run-jscalls.cc", | |
44 "compiler/test-run-jsexceptions.cc", | |
45 "compiler/test-run-jsobjects.cc", | |
46 "compiler/test-run-jsops.cc", | |
47 "compiler/test-run-load-store.cc", | |
48 "compiler/test-run-machops.cc", | |
49 "compiler/test-run-native-calls.cc", | |
50 "compiler/test-run-stackcheck.cc", | |
51 "compiler/test-run-stubs.cc", | |
52 "compiler/test-run-variables.cc", | |
53 "compiler/test-run-wasm-machops.cc", | |
54 "compiler/test-simplified-lowering.cc", | |
55 "expression-type-collector.cc", | |
56 "expression-type-collector.h", | |
57 "gay-fixed.cc", | |
58 "gay-precision.cc", | |
59 "gay-shortest.cc", | |
60 "heap/heap-tester.h", | |
61 "heap/heap-utils.cc", | |
62 "heap/heap-utils.h", | |
63 "heap/test-alloc.cc", | |
64 "heap/test-compaction.cc", | |
65 "heap/test-heap.cc", | |
66 "heap/test-incremental-marking.cc", | |
67 "heap/test-lab.cc", | |
68 "heap/test-mark-compact.cc", | |
69 "heap/test-spaces.cc", | |
70 "interpreter/bytecode-expectations-printer.cc", | |
71 "interpreter/bytecode-expectations-printer.h", | |
72 "interpreter/interpreter-tester.cc", | |
73 "interpreter/test-bytecode-generator.cc", | |
74 "interpreter/test-interpreter-intrinsics.cc", | |
75 "interpreter/test-interpreter.cc", | |
76 "print-extension.cc", | |
77 "profiler-extension.cc", | |
78 "test-accessors.cc", | |
79 "test-api-accessors.cc", | |
80 "test-api-fast-accessor-builder.cc", | |
81 "test-api-interceptors.cc", | |
82 "test-api.cc", | |
83 "test-api.h", | |
84 "test-array-list.cc", | |
85 "test-asm-validator.cc", | |
86 "test-ast-expression-visitor.cc", | |
87 "test-ast.cc", | |
88 "test-atomicops.cc", | |
89 "test-bignum-dtoa.cc", | |
90 "test-bignum.cc", | |
91 "test-bit-vector.cc", | |
92 "test-circular-queue.cc", | |
93 "test-compiler.cc", | |
94 "test-constantpool.cc", | |
95 "test-conversions.cc", | |
96 "test-cpu-profiler.cc", | |
97 "test-date.cc", | |
98 "test-debug.cc", | |
99 "test-decls.cc", | |
100 "test-deoptimization.cc", | |
101 "test-dictionary.cc", | |
102 "test-diy-fp.cc", | |
103 "test-double.cc", | |
104 "test-dtoa.cc", | |
105 "test-elements-kind.cc", | |
106 "test-fast-dtoa.cc", | |
107 "test-feedback-vector.cc", | |
108 "test-field-type-tracking.cc", | |
109 "test-fixed-dtoa.cc", | |
110 "test-flags.cc", | |
111 "test-func-name-inference.cc", | |
112 "test-global-handles.cc", | |
113 "test-global-object.cc", | |
114 "test-hashing.cc", | |
115 "test-hashmap.cc", | |
116 "test-heap-profiler.cc", | |
117 "test-hydrogen-types.cc", | |
118 "test-identity-map.cc", | |
119 "test-inobject-slack-tracking.cc", | |
120 "test-list.cc", | |
121 "test-liveedit.cc", | |
122 "test-lockers.cc", | |
123 "test-log.cc", | |
124 "test-mementos.cc", | |
125 "test-parsing.cc", | |
126 "test-platform.cc", | |
127 "test-profile-generator.cc", | |
128 "test-random-number-generator.cc", | |
129 "test-receiver-check-hidden-prototype.cc", | |
130 "test-regexp.cc", | |
131 "test-reloc-info.cc", | |
132 "test-representation.cc", | |
133 "test-sampler-api.cc", | |
134 "test-serialize.cc", | |
135 "test-simd.cc", | |
136 "test-strings.cc", | |
137 "test-strtod.cc", | |
138 "test-symbols.cc", | |
139 "test-thread-termination.cc", | |
140 "test-threads.cc", | |
141 "test-trace-event.cc", | |
142 "test-transitions.cc", | |
143 "test-typedarrays.cc", | |
144 "test-types.cc", | |
145 "test-unbound-queue.cc", | |
146 "test-unboxed-doubles.cc", | |
147 "test-unique.cc", | |
148 "test-unscopables-hidden-prototype.cc", | |
149 "test-utils.cc", | |
150 "test-version.cc", | |
151 "test-weakmaps.cc", | |
152 "test-weaksets.cc", | |
153 "trace-extension.cc", | |
154 "wasm/test-run-wasm-64.cc", | |
155 "wasm/test-run-wasm-asmjs.cc", | |
156 "wasm/test-run-wasm-interpreter.cc", | |
157 "wasm/test-run-wasm-js.cc", | |
158 "wasm/test-run-wasm-module.cc", | |
159 "wasm/test-run-wasm.cc", | |
160 "wasm/test-signatures.h", | |
161 "wasm/test-wasm-function-name-table.cc", | |
162 "wasm/test-wasm-stack.cc", | |
163 "wasm/test-wasm-trap-position.cc", | |
164 "wasm/wasm-run-utils.h", | |
165 ] | |
166 | |
167 if (v8_target_arch == "arm") { | |
168 sources += [ | |
169 "test-assembler-arm.cc", | |
170 "test-code-stubs-arm.cc", | |
171 "test-code-stubs.cc", | |
172 "test-disasm-arm.cc", | |
173 "test-macro-assembler-arm.cc", | |
174 "test-run-wasm-relocation-arm.cc", | |
175 ] | |
176 } else if (v8_target_arch == "arm64") { | |
177 sources += [ | |
178 "test-assembler-arm64.cc", | |
179 "test-code-stubs-arm64.cc", | |
180 "test-code-stubs.cc", | |
181 "test-disasm-arm64.cc", | |
182 "test-fuzz-arm64.cc", | |
183 "test-javascript-arm64.cc", | |
184 "test-js-arm64-variables.cc", | |
185 "test-run-wasm-relocation-arm64.cc", | |
186 "test-utils-arm64.cc", | |
187 ] | |
188 } else if (v8_target_arch == "ia32") { | |
189 sources += [ | |
190 "test-assembler-ia32.cc", | |
191 "test-code-stubs-ia32.cc", | |
192 "test-code-stubs.cc", | |
193 "test-disasm-ia32.cc", | |
194 "test-log-stack-tracer.cc", | |
195 "test-macro-assembler-ia32.cc", | |
196 "test-run-wasm-relocation-ia32.cc", | |
197 ] | |
198 } else if (v8_target_arch == "mips") { | |
199 sources += [ | |
200 "test-assembler-mips.cc", | |
201 "test-code-stubs-mips.cc", | |
202 "test-code-stubs.cc", | |
203 "test-disasm-mips.cc", | |
204 "test-macro-assembler-mips.cc", | |
205 ] | |
206 } else if (v8_target_arch == "mipsel") { | |
207 sources += [ | |
208 "test-assembler-mips.cc", | |
209 "test-code-stubs-mips.cc", | |
210 "test-code-stubs.cc", | |
211 "test-disasm-mips.cc", | |
212 "test-macro-assembler-mips.cc", | |
213 ] | |
214 } else if (v8_target_arch == "mips64") { | |
215 sources += [ | |
216 "test-assembler-mips64.cc", | |
217 "test-code-stubs-mips64.cc", | |
218 "test-code-stubs.cc", | |
219 "test-disasm-mips64.cc", | |
220 "test-macro-assembler-mips64.cc", | |
221 ] | |
222 } else if (v8_target_arch == "mips64el") { | |
223 sources += [ | |
224 "test-assembler-mips64.cc", | |
225 "test-code-stubs-mips64.cc", | |
226 "test-code-stubs.cc", | |
227 "test-disasm-mips64.cc", | |
228 "test-macro-assembler-mips64.cc", | |
229 ] | |
230 } else if (v8_target_arch == "x64") { | |
231 sources += [ | |
232 "test-assembler-x64.cc", | |
233 "test-code-stubs-x64.cc", | |
234 "test-code-stubs.cc", | |
235 "test-disasm-x64.cc", | |
236 "test-log-stack-tracer.cc", | |
237 "test-macro-assembler-x64.cc", | |
238 "test-run-wasm-relocation-x64.cc", | |
239 ] | |
240 } else if (v8_target_arch == "x87") { | |
241 sources += [ | |
242 "test-assembler-x87.cc", | |
243 "test-code-stubs-x87.cc", | |
244 "test-code-stubs.cc", | |
245 "test-disasm-x87.cc", | |
246 "test-log-stack-tracer.cc", | |
247 "test-macro-assembler-x87.cc", | |
248 "test-run-wasm-relocation-x87.cc", | |
249 ] | |
250 } else if (v8_target_arch == "ppc" || v8_target_arch == "ppc64") { | |
251 sources += [ | |
252 "test-assembler-ppc.cc", | |
253 "test-code-stubs.cc", | |
254 "test-disasm-ppc.cc", | |
255 ] | |
256 } else if (v8_target_arch == "s390" || v8_target_arch == "s390x") { | |
257 sources += [ | |
258 "test-assembler-s390.cc", | |
259 "test-code-stubs.cc", | |
260 "test-disasm-s390.cc", | |
261 ] | |
262 } | |
263 | |
264 if (is_linux) { | |
265 # TODO(machenbach): Translate 'or OS=="qnx"' from gyp. | |
266 sources += [ "test-platform-linux.cc" ] | |
267 } else if (is_win) { | |
268 sources += [ "test-platform-win32.cc" ] | |
269 # TODO(machenbach): Translate from gyp. | |
270 # "msvs_settings": { | |
271 # "VCCLCompilerTool": { | |
272 # # MSVS wants this for gay-{precision,shortest}.cc. | |
273 # "AdditionalOptions": ["/bigobj"], | |
274 # }, | |
275 # }, | |
276 } | |
277 | |
278 configs -= [ "//build/config/compiler:chromium_code" ] | |
279 configs += [ "//build/config/compiler:no_chromium_code" ] | |
280 configs += [ | |
281 "../..:internal_config_base", | |
282 "../..:features", | |
283 "../..:toolchain", | |
284 ] | |
285 | |
286 # TODO(machenbach): Translate from gyp. | |
287 #['v8_target_arch=="ppc" or v8_target_arch=="ppc64" \ | |
288 # or v8_target_arch=="arm" or v8_target_arch=="arm64" \ | |
289 # or v8_target_arch=="s390" or v8_target_arch=="s390x"', { | |
290 # # disable fmadd/fmsub so that expected results match generated code in | |
291 # # RunFloat64MulAndFloat64Add1 and friends. | |
292 # 'cflags': ['-ffp-contract=off'], | |
293 #}], | |
294 | |
295 # TODO(machenbach): Translate from gyp. | |
296 #["OS=="aix"", { | |
297 # "ldflags": [ "-Wl,-bbigtoc" ], | |
298 #}], | |
299 | |
300 deps = [ | |
301 ":resources", | |
302 "../..:v8_libplatform", | |
303 "//build/config/sanitizers:deps", | |
304 "//build/win:default_exe_manifest", | |
305 ] | |
306 | |
307 if (is_component_build) { | |
308 # cctest can't be built against a shared library, so we | |
309 # need to depend on the underlying static target in that case. | |
310 deps += [ "../..:v8_maybe_snapshot" ] | |
311 } else { | |
312 deps += [ "../..:v8" ] | |
313 } | |
314 } | |
315 | |
316 action("resources") { | |
317 visibility = [ ":*" ] # Only targets in this file can depend on this. | |
318 | |
319 script = "../../tools/js2c.py" | |
320 | |
321 # The script depends on this other script, this rule causes a rebuild if it | |
322 # changes. | |
323 inputs = [ | |
324 "../../tools/jsmin.py", | |
325 ] | |
326 | |
327 # NOSORT | |
328 sources = [ | |
329 "../../tools/splaytree.js", | |
330 "../../tools/codemap.js", | |
331 "../../tools/csvparser.js", | |
332 "../../tools/consarray.js", | |
333 "../../tools/profile.js", | |
334 "../../tools/profile_view.js", | |
335 "../../tools/logreader.js", | |
336 "log-eq-of-logging-and-traversal.js", | |
337 ] | |
338 | |
339 outputs = [ | |
340 "$target_gen_dir/resources.cc", | |
341 ] | |
342 | |
343 args = [ | |
344 rebase_path("$target_gen_dir/resources.cc", root_build_dir), | |
345 "TEST", | |
346 ] | |
347 args += rebase_path(sources, root_build_dir) | |
348 } | |
349 | |
350 # TODO(machenbach): Migrate generate-bytecode-expectations. | |
OLD | NEW |