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{
6  'variables': {
7    'v8_code': 1,
8  },
9  'includes': ['toolchain.gypi', 'features.gypi'],
10  'targets': [
11    {
12      'target_name': 'v8_simple_json_fuzzer',
13      'type': 'executable',
14      'dependencies': [
15        'json_fuzzer_lib',
16      ],
17      'include_dirs': [
18        '..',
19      ],
20      'sources': [
21        '../test/fuzzer/fuzzer.cc',
22      ],
23    },
24    {
25      'target_name': 'json_fuzzer_lib',
26      'type': 'static_library',
27      'dependencies': [
28        'v8.gyp:v8_libplatform',
29        'fuzzer_support',
30      ],
31      'include_dirs': [
32        '..',
33      ],
34      'sources': [
35        '../test/fuzzer/json.cc',
36      ],
37    },
38    {
39      'target_name': 'v8_simple_parser_fuzzer',
40      'type': 'executable',
41      'dependencies': [
42        'parser_fuzzer_lib',
43      ],
44      'include_dirs': [
45        '..',
46      ],
47      'sources': [
48        '../test/fuzzer/fuzzer.cc',
49      ],
50    },
51    {
52      'target_name': 'parser_fuzzer_lib',
53      'type': 'static_library',
54      'dependencies': [
55        'v8.gyp:v8_libplatform',
56        'fuzzer_support',
57      ],
58      'include_dirs': [
59        '..',
60      ],
61      'sources': [
62        '../test/fuzzer/parser.cc',
63      ],
64    },
65    {
66      'target_name': 'v8_simple_regexp_builtins_fuzzer',
67      'type': 'executable',
68      'dependencies': [
69        'regexp_builtins_fuzzer_lib',
70      ],
71      'include_dirs': [
72        '..',
73      ],
74      'sources': [
75        '../test/fuzzer/fuzzer.cc',
76      ],
77    },
78    {
79      'target_name': 'regexp_builtins_fuzzer_lib',
80      'type': 'static_library',
81      'dependencies': [
82        'v8.gyp:v8_libplatform',
83        'fuzzer_support',
84      ],
85      'include_dirs': [
86        '..',
87      ],
88      'sources': [
89        '../test/fuzzer/regexp-builtins.cc',
90        '../test/fuzzer/regexp_builtins/mjsunit.js.h',
91      ],
92    },
93    {
94      'target_name': 'v8_simple_regexp_fuzzer',
95      'type': 'executable',
96      'dependencies': [
97        'regexp_fuzzer_lib',
98      ],
99      'include_dirs': [
100        '..',
101      ],
102      'sources': [
103        '../test/fuzzer/fuzzer.cc',
104      ],
105    },
106    {
107      'target_name': 'regexp_fuzzer_lib',
108      'type': 'static_library',
109      'dependencies': [
110        'v8.gyp:v8_libplatform',
111        'fuzzer_support',
112      ],
113      'include_dirs': [
114        '..',
115      ],
116      'sources': [
117        '../test/fuzzer/regexp.cc',
118      ],
119    },
120    {
121      'target_name': 'v8_simple_multi_return_fuzzer',
122      'type': 'executable',
123      'dependencies': [
124        'multi_return_fuzzer_lib',
125      ],
126      'include_dirs': [
127        '..',
128      ],
129      'sources': [
130        '../test/fuzzer/fuzzer.cc',
131      ],
132    },
133    {
134      'target_name': 'multi_return_fuzzer_lib',
135      'type': 'static_library',
136      'dependencies': [
137        'v8.gyp:v8_libplatform',
138        'fuzzer_support',
139      ],
140      'include_dirs': [
141        '..',
142      ],
143      'sources': [
144        '../test/cctest/compiler/c-signature.h',
145        '../test/cctest/compiler/call-helper.h',
146        '../test/cctest/compiler/raw-machine-assembler-tester.h',
147        '../test/fuzzer/multi-return.cc',
148      ],
149    },
150    {
151      'target_name': 'v8_simple_wasm_fuzzer',
152      'type': 'executable',
153      'dependencies': [
154        'wasm_fuzzer_lib',
155      ],
156      'include_dirs': [
157        '..',
158      ],
159      'sources': [
160        '../test/fuzzer/fuzzer.cc',
161      ],
162    },
163    {
164      'target_name': 'wasm_fuzzer_lib',
165      'type': 'static_library',
166      'dependencies': [
167        'v8.gyp:v8_libplatform',
168        'fuzzer_support',
169      ],
170      'include_dirs': [
171        '..',
172      ],
173      'sources': [
174        '../test/fuzzer/wasm.cc',
175        '../test/common/wasm/wasm-module-runner.cc',
176        '../test/common/wasm/wasm-module-runner.h',
177        '../test/fuzzer/wasm-fuzzer-common.cc',
178        '../test/fuzzer/wasm-fuzzer-common.h',
179      ],
180    },
181    {
182      'target_name': 'v8_simple_wasm_async_fuzzer',
183      'type': 'executable',
184      'dependencies': [
185        'wasm_async_fuzzer_lib',
186      ],
187      'include_dirs': [
188        '..',
189      ],
190      'sources': [
191        '../test/fuzzer/fuzzer.cc',
192      ],
193    },
194    {
195      'target_name': 'wasm_async_fuzzer_lib',
196      'type': 'static_library',
197      'dependencies': [
198        'v8.gyp:v8_libplatform',
199        'fuzzer_support',
200      ],
201      'include_dirs': [
202        '..',
203      ],
204      'sources': [
205        '../test/fuzzer/wasm-async.cc',
206        '../test/common/wasm/wasm-module-runner.cc',
207        '../test/common/wasm/wasm-module-runner.h',
208        '../test/fuzzer/wasm-fuzzer-common.cc',
209        '../test/fuzzer/wasm-fuzzer-common.h',
210      ],
211    },
212    {
213      'target_name': 'v8_simple_wasm_code_fuzzer',
214      'type': 'executable',
215      'dependencies': [
216        'wasm_code_fuzzer_lib',
217      ],
218      'include_dirs': [
219        '..',
220      ],
221      'sources': [
222        '../test/fuzzer/fuzzer.cc',
223      ],
224    },
225    {
226      'target_name': 'wasm_code_fuzzer_lib',
227      'type': 'static_library',
228      'dependencies': [
229        'v8.gyp:v8_libplatform',
230        'fuzzer_support',
231      ],
232      'include_dirs': [
233        '..',
234      ],
235      'sources': [
236        '../test/fuzzer/wasm-code.cc',
237        '../test/common/wasm/test-signatures.h',
238        '../test/common/wasm/wasm-module-runner.cc',
239        '../test/common/wasm/wasm-module-runner.h',
240        '../test/fuzzer/wasm-fuzzer-common.cc',
241        '../test/fuzzer/wasm-fuzzer-common.h',
242      ],
243    },
244    {
245      'target_name': 'v8_simple_wasm_compile_fuzzer',
246      'type': 'executable',
247      'dependencies': [
248        'wasm_compile_fuzzer_lib',
249      ],
250      'include_dirs': [
251        '..',
252      ],
253      'sources': [
254        '../test/fuzzer/fuzzer.cc',
255      ],
256    },
257    {
258      'target_name': 'wasm_compile_fuzzer_lib',
259      'type': 'static_library',
260      'dependencies': [
261        'v8.gyp:v8_libplatform',
262        'fuzzer_support',
263      ],
264      'include_dirs': [
265        '..',
266      ],
267      'sources': [
268        '../test/fuzzer/wasm-compile.cc',
269        '../test/common/wasm/test-signatures.h',
270        '../test/common/wasm/wasm-module-runner.cc',
271        '../test/common/wasm/wasm-module-runner.h',
272        '../test/fuzzer/wasm-fuzzer-common.cc',
273        '../test/fuzzer/wasm-fuzzer-common.h',
274      ],
275    },
276    {
277      'target_name': 'v8_simple_wasm_data_section_fuzzer',
278      'type': 'executable',
279      'dependencies': [
280        'wasm_data_section_fuzzer_lib',
281      ],
282      'include_dirs': [
283        '..',
284      ],
285      'sources': [
286        '../test/fuzzer/fuzzer.cc',
287      ],
288    },
289    {
290      'target_name': 'wasm_data_section_fuzzer_lib',
291      'type': 'static_library',
292      'dependencies': [
293        'v8.gyp:v8_libplatform',
294        'fuzzer_support',
295      ],
296      'include_dirs': [
297        '..',
298      ],
299      'sources': [
300        '../test/fuzzer/wasm-data-section.cc',
301        '../test/common/wasm/wasm-module-runner.cc',
302        '../test/common/wasm/wasm-module-runner.h',
303        '../test/fuzzer/wasm-fuzzer-common.cc',
304        '../test/fuzzer/wasm-fuzzer-common.h',
305      ],
306    },
307    {
308      'target_name': 'v8_simple_wasm_function_sigs_section_fuzzer',
309      'type': 'executable',
310      'dependencies': [
311        'wasm_function_sigs_section_fuzzer_lib',
312      ],
313      'include_dirs': [
314        '..',
315      ],
316      'sources': [
317        '../test/fuzzer/fuzzer.cc',
318      ],
319    },
320    {
321      'target_name': 'wasm_function_sigs_section_fuzzer_lib',
322      'type': 'static_library',
323      'dependencies': [
324        'v8.gyp:v8_libplatform',
325        'fuzzer_support',
326      ],
327      'include_dirs': [
328        '..',
329      ],
330      'sources': [
331        '../test/fuzzer/wasm-function-sigs-section.cc',
332        '../test/common/wasm/wasm-module-runner.cc',
333        '../test/common/wasm/wasm-module-runner.h',
334        '../test/fuzzer/wasm-fuzzer-common.cc',
335        '../test/fuzzer/wasm-fuzzer-common.h',
336      ],
337    },
338    {
339      'target_name': 'v8_simple_wasm_globals_section_fuzzer',
340      'type': 'executable',
341      'dependencies': [
342        'wasm_globals_section_fuzzer_lib',
343      ],
344      'include_dirs': [
345        '..',
346      ],
347      'sources': [
348        '../test/fuzzer/fuzzer.cc',
349      ],
350    },
351    {
352      'target_name': 'wasm_globals_section_fuzzer_lib',
353      'type': 'static_library',
354      'dependencies': [
355        'v8.gyp:v8_libplatform',
356        'fuzzer_support',
357      ],
358      'include_dirs': [
359        '..',
360      ],
361      'sources': [
362        '../test/fuzzer/wasm-globals-section.cc',
363        '../test/common/wasm/wasm-module-runner.cc',
364        '../test/common/wasm/wasm-module-runner.h',
365        '../test/fuzzer/wasm-fuzzer-common.cc',
366        '../test/fuzzer/wasm-fuzzer-common.h',
367      ],
368    },
369    {
370      'target_name': 'v8_simple_wasm_imports_section_fuzzer',
371      'type': 'executable',
372      'dependencies': [
373        'wasm_imports_section_fuzzer_lib',
374      ],
375      'include_dirs': [
376        '..',
377      ],
378      'sources': [
379        '../test/fuzzer/fuzzer.cc',
380      ],
381    },
382    {
383      'target_name': 'wasm_imports_section_fuzzer_lib',
384      'type': 'static_library',
385      'dependencies': [
386        'v8.gyp:v8_libplatform',
387        'fuzzer_support',
388      ],
389      'include_dirs': [
390        '..',
391      ],
392      'sources': [
393        '../test/fuzzer/wasm-imports-section.cc',
394        '../test/common/wasm/wasm-module-runner.cc',
395        '../test/common/wasm/wasm-module-runner.h',
396        '../test/fuzzer/wasm-fuzzer-common.cc',
397        '../test/fuzzer/wasm-fuzzer-common.h',
398      ],
399    },
400    {
401      'target_name': 'v8_simple_wasm_memory_section_fuzzer',
402      'type': 'executable',
403      'dependencies': [
404        'wasm_memory_section_fuzzer_lib',
405      ],
406      'include_dirs': [
407        '..',
408      ],
409      'sources': [
410        '../test/fuzzer/fuzzer.cc',
411      ],
412    },
413    {
414      'target_name': 'wasm_memory_section_fuzzer_lib',
415      'type': 'static_library',
416      'dependencies': [
417        'v8.gyp:v8_libplatform',
418        'fuzzer_support',
419      ],
420      'include_dirs': [
421        '..',
422      ],
423      'sources': [
424        '../test/fuzzer/wasm-memory-section.cc',
425        '../test/common/wasm/wasm-module-runner.cc',
426        '../test/common/wasm/wasm-module-runner.h',
427        '../test/fuzzer/wasm-fuzzer-common.cc',
428        '../test/fuzzer/wasm-fuzzer-common.h',
429      ],
430    },
431    {
432      'target_name': 'v8_simple_wasm_names_section_fuzzer',
433      'type': 'executable',
434      'dependencies': [
435        'wasm_names_section_fuzzer_lib',
436      ],
437      'include_dirs': [
438        '..',
439      ],
440      'sources': [
441        '../test/fuzzer/fuzzer.cc',
442      ],
443    },
444    {
445      'target_name': 'wasm_names_section_fuzzer_lib',
446      'type': 'static_library',
447      'dependencies': [
448        'v8.gyp:v8_libplatform',
449        'fuzzer_support',
450      ],
451      'include_dirs': [
452        '..',
453      ],
454      'sources': [
455        '../test/fuzzer/wasm-names-section.cc',
456        '../test/common/wasm/wasm-module-runner.cc',
457        '../test/common/wasm/wasm-module-runner.h',
458        '../test/fuzzer/wasm-fuzzer-common.cc',
459        '../test/fuzzer/wasm-fuzzer-common.h',
460      ],
461    },
462    {
463      'target_name': 'v8_simple_wasm_types_section_fuzzer',
464      'type': 'executable',
465      'dependencies': [
466        'wasm_types_section_fuzzer_lib',
467      ],
468      'include_dirs': [
469        '..',
470      ],
471      'sources': [
472        '../test/fuzzer/fuzzer.cc',
473      ],
474    },
475    {
476      'target_name': 'wasm_types_section_fuzzer_lib',
477      'type': 'static_library',
478      'dependencies': [
479        'v8.gyp:v8_libplatform',
480        'fuzzer_support',
481      ],
482      'include_dirs': [
483        '..',
484      ],
485      'sources': [
486        '../test/fuzzer/wasm-types-section.cc',
487        '../test/common/wasm/wasm-module-runner.cc',
488        '../test/common/wasm/wasm-module-runner.h',
489        '../test/fuzzer/wasm-fuzzer-common.cc',
490        '../test/fuzzer/wasm-fuzzer-common.h',
491      ],
492    },
493    {
494      'target_name': 'fuzzer_support',
495      'type': 'static_library',
496      'dependencies': [
497        'v8.gyp:v8',
498        'v8.gyp:v8_libbase',
499        'v8.gyp:v8_libplatform',
500      ],
501      'include_dirs': [
502        '..',
503      ],
504      'sources': [
505        '../test/fuzzer/fuzzer-support.cc',
506        '../test/fuzzer/fuzzer-support.h',
507      ],
508      'conditions': [
509        ['v8_enable_i18n_support==1', {
510          'dependencies': [
511            '<(icu_gyp_path):icui18n',
512            '<(icu_gyp_path):icuuc',
513          ],
514        }],
515      ],
516    },
517  ],
518}
519