OLD | NEW |
1 # Copyright 2009 the V8 project authors. All rights reserved. | 1 # Copyright 2009 the V8 project authors. All rights reserved. |
2 # Redistribution and use in source and binary forms, with or without | 2 # Redistribution and use in source and binary forms, with or without |
3 # modification, are permitted provided that the following conditions are | 3 # modification, are permitted provided that the following conditions are |
4 # met: | 4 # met: |
5 # | 5 # |
6 # * Redistributions of source code must retain the above copyright | 6 # * Redistributions of source code must retain the above copyright |
7 # notice, this list of conditions and the following disclaimer. | 7 # notice, this list of conditions and the following disclaimer. |
8 # * Redistributions in binary form must reproduce the above | 8 # * Redistributions in binary form must reproduce the above |
9 # copyright notice, this list of conditions and the following | 9 # copyright notice, this list of conditions and the following |
10 # disclaimer in the documentation and/or other materials provided | 10 # disclaimer in the documentation and/or other materials provided |
(...skipping 12 matching lines...) Expand all Loading... |
23 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 23 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
24 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 24 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
25 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 25 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
26 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 26 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 | 27 |
28 { | 28 { |
29 'variables': { | 29 'variables': { |
30 'chromium_code': 1, | 30 'chromium_code': 1, |
31 'msvs_use_common_release': 0, | 31 'msvs_use_common_release': 0, |
32 'gcc_version%': 'unknown', | 32 'gcc_version%': 'unknown', |
33 'base_source_files': [ | 33 'target_arch%': 'ia32', |
34 '../../src/arm/assembler-arm-inl.h', | 34 'v8_use_snapshot%': 'true', |
35 '../../src/arm/assembler-arm.cc', | |
36 '../../src/arm/assembler-arm.h', | |
37 '../../src/arm/builtins-arm.cc', | |
38 '../../src/arm/codegen-arm.cc', | |
39 '../../src/arm/codegen-arm.h', | |
40 '../../src/arm/constants-arm.h', | |
41 '../../src/arm/cpu-arm.cc', | |
42 '../../src/arm/debug-arm.cc', | |
43 '../../src/arm/disasm-arm.cc', | |
44 '../../src/arm/frames-arm.cc', | |
45 '../../src/arm/frames-arm.h', | |
46 '../../src/arm/ic-arm.cc', | |
47 '../../src/arm/jump-target-arm.cc', | |
48 '../../src/arm/macro-assembler-arm.cc', | |
49 '../../src/arm/macro-assembler-arm.h', | |
50 '../../src/arm/regexp-macro-assembler-arm.cc', | |
51 '../../src/arm/regexp-macro-assembler-arm.h', | |
52 '../../src/arm/register-allocator-arm.cc', | |
53 '../../src/arm/simulator-arm.cc', | |
54 '../../src/arm/stub-cache-arm.cc', | |
55 '../../src/arm/virtual-frame-arm.cc', | |
56 '../../src/arm/virtual-frame-arm.h', | |
57 '../../src/ia32/assembler-ia32-inl.h', | |
58 '../../src/ia32/assembler-ia32.cc', | |
59 '../../src/ia32/assembler-ia32.h', | |
60 '../../src/ia32/builtins-ia32.cc', | |
61 '../../src/ia32/codegen-ia32.cc', | |
62 '../../src/ia32/codegen-ia32.h', | |
63 '../../src/ia32/cpu-ia32.cc', | |
64 '../../src/ia32/debug-ia32.cc', | |
65 '../../src/ia32/disasm-ia32.cc', | |
66 '../../src/ia32/frames-ia32.cc', | |
67 '../../src/ia32/frames-ia32.h', | |
68 '../../src/ia32/ic-ia32.cc', | |
69 '../../src/ia32/jump-target-ia32.cc', | |
70 '../../src/ia32/macro-assembler-ia32.cc', | |
71 '../../src/ia32/macro-assembler-ia32.h', | |
72 '../../src/ia32/regexp-macro-assembler-ia32.cc', | |
73 '../../src/ia32/regexp-macro-assembler-ia32.h', | |
74 '../../src/ia32/register-allocator-ia32.cc', | |
75 '../../src/ia32/stub-cache-ia32.cc', | |
76 '../../src/ia32/virtual-frame-ia32.cc', | |
77 '../../src/ia32/virtual-frame-ia32.h', | |
78 '../../src/third_party/dtoa/dtoa.c', | |
79 '../../src/accessors.cc', | |
80 '../../src/accessors.h', | |
81 '../../src/allocation.cc', | |
82 '../../src/allocation.h', | |
83 '../../src/api.cc', | |
84 '../../src/api.h', | |
85 '../../src/apiutils.h', | |
86 '../../src/arguments.h', | |
87 '../../src/assembler.cc', | |
88 '../../src/assembler.h', | |
89 '../../src/ast.cc', | |
90 '../../src/ast.h', | |
91 '../../src/bootstrapper.cc', | |
92 '../../src/bootstrapper.h', | |
93 '../../src/builtins.cc', | |
94 '../../src/builtins.h', | |
95 '../../src/bytecodes-irregexp.h', | |
96 '../../src/char-predicates-inl.h', | |
97 '../../src/char-predicates.h', | |
98 '../../src/checks.cc', | |
99 '../../src/checks.h', | |
100 '../../src/code-stubs.cc', | |
101 '../../src/code-stubs.h', | |
102 '../../src/code.h', | |
103 '../../src/codegen-inl.h', | |
104 '../../src/codegen.cc', | |
105 '../../src/codegen.h', | |
106 '../../src/compilation-cache.cc', | |
107 '../../src/compilation-cache.h', | |
108 '../../src/compiler.cc', | |
109 '../../src/compiler.h', | |
110 '../../src/contexts.cc', | |
111 '../../src/contexts.h', | |
112 '../../src/conversions-inl.h', | |
113 '../../src/conversions.cc', | |
114 '../../src/conversions.h', | |
115 '../../src/counters.cc', | |
116 '../../src/counters.h', | |
117 '../../src/cpu.h', | |
118 '../../src/dateparser.cc', | |
119 '../../src/dateparser.h', | |
120 '../../src/dateparser-inl.h', | |
121 '../../src/debug.cc', | |
122 '../../src/debug.h', | |
123 '../../src/debug-agent.cc', | |
124 '../../src/debug-agent.h', | |
125 '../../src/disasm.h', | |
126 '../../src/disassembler.cc', | |
127 '../../src/disassembler.h', | |
128 '../../src/dtoa-config.c', | |
129 '../../src/execution.cc', | |
130 '../../src/execution.h', | |
131 '../../src/factory.cc', | |
132 '../../src/factory.h', | |
133 '../../src/flag-definitions.h', | |
134 '../../src/flags.cc', | |
135 '../../src/flags.h', | |
136 '../../src/frames-inl.h', | |
137 '../../src/frames.cc', | |
138 '../../src/frames.h', | |
139 '../../src/frame-element.h', | |
140 '../../src/func-name-inferrer.cc', | |
141 '../../src/func-name-inferrer.h', | |
142 '../../src/global-handles.cc', | |
143 '../../src/global-handles.h', | |
144 '../../src/globals.h', | |
145 '../../src/handles-inl.h', | |
146 '../../src/handles.cc', | |
147 '../../src/handles.h', | |
148 '../../src/hashmap.cc', | |
149 '../../src/hashmap.h', | |
150 '../../src/heap-inl.h', | |
151 '../../src/heap.cc', | |
152 '../../src/heap.h', | |
153 '../../src/ic-inl.h', | |
154 '../../src/ic.cc', | |
155 '../../src/ic.h', | |
156 '../../src/interpreter-irregexp.cc', | |
157 '../../src/interpreter-irregexp.h', | |
158 '../../src/jump-target.cc', | |
159 '../../src/jump-target.h', | |
160 '../../src/jump-target-inl.h', | |
161 '../../src/jsregexp-inl.h', | |
162 '../../src/jsregexp.cc', | |
163 '../../src/jsregexp.h', | |
164 '../../src/list-inl.h', | |
165 '../../src/list.h', | |
166 '../../src/log.cc', | |
167 '../../src/log-inl.h', | |
168 '../../src/log.h', | |
169 '../../src/log-utils.cc', | |
170 '../../src/log-utils.h', | |
171 '../../src/macro-assembler.h', | |
172 '../../src/mark-compact.cc', | |
173 '../../src/mark-compact.h', | |
174 '../../src/memory.h', | |
175 '../../src/messages.cc', | |
176 '../../src/messages.h', | |
177 '../../src/natives.h', | |
178 '../../src/objects-debug.cc', | |
179 '../../src/objects-inl.h', | |
180 '../../src/objects.cc', | |
181 '../../src/objects.h', | |
182 '../../src/oprofile-agent.h', | |
183 '../../src/oprofile-agent.cc', | |
184 '../../src/parser.cc', | |
185 '../../src/parser.h', | |
186 '../../src/platform-freebsd.cc', | |
187 '../../src/platform-linux.cc', | |
188 '../../src/platform-macos.cc', | |
189 '../../src/platform-nullos.cc', | |
190 '../../src/platform-posix.cc', | |
191 '../../src/platform-win32.cc', | |
192 '../../src/platform.h', | |
193 '../../src/prettyprinter.cc', | |
194 '../../src/prettyprinter.h', | |
195 '../../src/property.cc', | |
196 '../../src/property.h', | |
197 '../../src/regexp-macro-assembler-irregexp-inl.h', | |
198 '../../src/regexp-macro-assembler-irregexp.cc', | |
199 '../../src/regexp-macro-assembler-irregexp.h', | |
200 '../../src/regexp-macro-assembler-tracer.cc', | |
201 '../../src/regexp-macro-assembler-tracer.h', | |
202 '../../src/regexp-macro-assembler.cc', | |
203 '../../src/regexp-macro-assembler.h', | |
204 '../../src/regexp-stack.cc', | |
205 '../../src/regexp-stack.h', | |
206 '../../src/register-allocator.h', | |
207 '../../src/register-allocator-inl.h', | |
208 '../../src/register-allocator.cc', | |
209 '../../src/rewriter.cc', | |
210 '../../src/rewriter.h', | |
211 '../../src/runtime.cc', | |
212 '../../src/runtime.h', | |
213 '../../src/scanner.cc', | |
214 '../../src/scanner.h', | |
215 '../../src/scopeinfo.cc', | |
216 '../../src/scopeinfo.h', | |
217 '../../src/scopes.cc', | |
218 '../../src/scopes.h', | |
219 '../../src/serialize.cc', | |
220 '../../src/serialize.h', | |
221 '../../src/shell.h', | |
222 '../../src/smart-pointer.h', | |
223 '../../src/snapshot-common.cc', | |
224 '../../src/snapshot.h', | |
225 '../../src/spaces-inl.h', | |
226 '../../src/spaces.cc', | |
227 '../../src/spaces.h', | |
228 '../../src/string-stream.cc', | |
229 '../../src/string-stream.h', | |
230 '../../src/stub-cache.cc', | |
231 '../../src/stub-cache.h', | |
232 '../../src/token.cc', | |
233 '../../src/token.h', | |
234 '../../src/top.cc', | |
235 '../../src/top.h', | |
236 '../../src/unicode-inl.h', | |
237 '../../src/unicode.cc', | |
238 '../../src/unicode.h', | |
239 '../../src/usage-analyzer.cc', | |
240 '../../src/usage-analyzer.h', | |
241 '../../src/utils.cc', | |
242 '../../src/utils.h', | |
243 '../../src/v8-counters.cc', | |
244 '../../src/v8-counters.h', | |
245 '../../src/v8.cc', | |
246 '../../src/v8.h', | |
247 '../../src/v8threads.cc', | |
248 '../../src/v8threads.h', | |
249 '../../src/variables.cc', | |
250 '../../src/variables.h', | |
251 '../../src/version.cc', | |
252 '../../src/version.h', | |
253 '../../src/virtual-frame.h', | |
254 '../../src/virtual-frame.cc', | |
255 '../../src/zone-inl.h', | |
256 '../../src/zone.cc', | |
257 '../../src/zone.h', | |
258 ], | |
259 'not_base_source_files': [ | |
260 # These files are #included by others and are not meant to be compiled | |
261 # directly. | |
262 '../../src/third_party/dtoa/dtoa.c', | |
263 ], | |
264 'd8_source_files': [ | |
265 '../../src/d8-debug.cc', | |
266 '../../src/d8-posix.cc', | |
267 '../../src/d8-readline.cc', | |
268 '../../src/d8-windows.cc', | |
269 '../../src/d8.cc', | |
270 ], | |
271 }, | 35 }, |
272 'includes': [ | 36 'includes': [ |
273 '../../../build/common.gypi', | 37 '../../../build/common.gypi', |
274 ], | 38 ], |
275 'target_defaults': { | 39 'target_defaults': { |
276 'defines': [ | 40 'defines': [ |
277 'ENABLE_LOGGING_AND_PROFILING', | 41 'ENABLE_LOGGING_AND_PROFILING', |
278 ], | 42 ], |
| 43 'conditions': [ |
| 44 ['target_arch=="arm"', { |
| 45 'defines': [ |
| 46 'V8_TARGET_ARCH_ARM', |
| 47 ], |
| 48 }], |
| 49 ['target_arch=="ia32"', { |
| 50 'defines': [ |
| 51 'V8_TARGET_ARCH_IA32', |
| 52 ], |
| 53 }], |
| 54 ], |
279 'configurations': { | 55 'configurations': { |
280 'Debug': { | 56 'Debug': { |
281 'defines': [ | 57 'defines': [ |
282 'DEBUG', | 58 'DEBUG', |
283 '_DEBUG', | 59 '_DEBUG', |
284 'ENABLE_DISASSEMBLER', | 60 'ENABLE_DISASSEMBLER', |
285 ], | 61 ], |
286 'msvs_settings': { | 62 'msvs_settings': { |
287 'VCCLCompilerTool': { | 63 'VCCLCompilerTool': { |
288 'Optimizations': '0', | 64 'Optimizations': '0', |
(...skipping 10 matching lines...) Expand all Loading... |
299 'cflags!': [ | 75 'cflags!': [ |
300 '-O2', | 76 '-O2', |
301 ], | 77 ], |
302 'cflags': [ | 78 'cflags': [ |
303 '-fomit-frame-pointer', | 79 '-fomit-frame-pointer', |
304 '-O3', | 80 '-O3', |
305 ], | 81 ], |
306 'conditions': [ | 82 'conditions': [ |
307 [ 'gcc_version=="44"', { | 83 [ 'gcc_version=="44"', { |
308 'cflags': [ | 84 'cflags': [ |
309 # Avoid gcc 4.4 strict aliasing issues in dtoa.c | 85 # Avoid gcc 4.4 strict aliasing issues in dtoa.c |
310 '-fno-strict-aliasing', | 86 '-fno-strict-aliasing', |
311 # Avoid crashes with gcc 4.4 in the v8 test suite. | 87 # Avoid crashes with gcc 4.4 in the v8 test suite. |
312 '-fno-tree-vrp', | 88 '-fno-tree-vrp', |
313 ], | 89 ], |
314 }], | 90 }], |
315 ], | 91 ], |
316 'cflags_cc': [ | 92 'cflags_cc': [ |
317 '-fno-rtti', | 93 '-fno-rtti', |
318 ], | 94 ], |
319 }], | 95 }], |
320 ['OS=="win"', { | 96 ['OS=="win"', { |
321 'msvs_configuration_attributes': { | 97 'msvs_configuration_attributes': { |
322 'OutputDirectory': '$(SolutionDir)$(ConfigurationName)', | 98 'OutputDirectory': '$(SolutionDir)$(ConfigurationName)', |
(...skipping 20 matching lines...) Expand all Loading... |
343 }], | 119 }], |
344 ], | 120 ], |
345 }, | 121 }, |
346 }, | 122 }, |
347 'xcode_settings': { | 123 'xcode_settings': { |
348 'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', | 124 'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', |
349 'GCC_ENABLE_CPP_RTTI': 'NO', | 125 'GCC_ENABLE_CPP_RTTI': 'NO', |
350 }, | 126 }, |
351 }, | 127 }, |
352 'targets': [ | 128 'targets': [ |
353 # Targets that apply to any architecture. | |
354 { | 129 { |
355 'target_name': 'js2c', | 130 'target_name': 'v8', |
356 'type': 'none', | 131 'type': 'none', |
357 'variables': { | 132 'conditions': [ |
358 'library_files': [ | 133 ['v8_use_snapshot=="true"', { |
359 '../../src/runtime.js', | 134 'dependencies': ['v8_snapshot'], |
360 '../../src/v8natives.js', | 135 }, |
361 '../../src/array.js', | 136 { |
362 '../../src/string.js', | 137 'dependencies': ['v8_nosnapshot'], |
363 '../../src/uri.js', | 138 }], |
364 '../../src/math.js', | 139 ], |
365 '../../src/messages.js', | 140 'direct_dependent_settings': { |
366 '../../src/apinatives.js', | 141 'include_dirs': [ |
367 '../../src/debug-delay.js', | 142 '../../include', |
368 '../../src/mirror-delay.js', | |
369 '../../src/date-delay.js', | |
370 '../../src/json-delay.js', | |
371 '../../src/regexp-delay.js', | |
372 '../../src/macros.py', | |
373 ], | 143 ], |
374 }, | 144 }, |
375 'actions': [ | |
376 { | |
377 'action_name': 'js2c', | |
378 'inputs': [ | |
379 '../../tools/js2c.py', | |
380 '<@(library_files)', | |
381 ], | |
382 'outputs': [ | |
383 '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', | |
384 '<(SHARED_INTERMEDIATE_DIR)/libraries-empty.cc', | |
385 ], | |
386 'action': ['python', '../../tools/js2c.py', '<@(_outputs)', 'CORE', '<
@(library_files)'], | |
387 }, | |
388 ], | |
389 }, | 145 }, |
390 { | 146 { |
391 'target_name': 'd8_js2c', | 147 'target_name': 'v8_snapshot', |
392 'type': 'none', | |
393 'variables': { | |
394 'library_files': [ | |
395 '../../src/d8.js', | |
396 '../../src/macros.py', | |
397 ], | |
398 }, | |
399 'actions': [ | |
400 { | |
401 'action_name': 'js2c', | |
402 'inputs': [ | |
403 '../../tools/js2c.py', | |
404 '<@(library_files)', | |
405 ], | |
406 'extra_inputs': [ | |
407 ], | |
408 'outputs': [ | |
409 '<(SHARED_INTERMEDIATE_DIR)/d8-js.cc', | |
410 '<(SHARED_INTERMEDIATE_DIR)/d8-js-empty.cc', | |
411 ], | |
412 'action': ['python', '../../tools/js2c.py', '<@(_outputs)', 'D8', '<@(
library_files)'], | |
413 }, | |
414 ], | |
415 }, | |
416 | |
417 # Targets to build v8 for the native architecture (ia32). | |
418 { | |
419 'target_name': 'v8_base', | |
420 'type': '<(library)', | 148 'type': '<(library)', |
421 'defines': [ | |
422 'V8_TARGET_ARCH_IA32' | |
423 ], | |
424 'include_dirs+': [ | |
425 '../../src', | |
426 '../../src/ia32', | |
427 ], | |
428 'msvs_guid': 'EC8B7909-62AF-470D-A75D-E1D89C837142', | |
429 'sources': [ | |
430 '<@(base_source_files)', | |
431 ], | |
432 'sources!': [ | |
433 '<@(not_base_source_files)', | |
434 ], | |
435 'sources/': [ | |
436 ['exclude', '-arm\\.cc$'], | |
437 ['exclude', 'src/platform-.*\\.cc$' ], | |
438 ], | |
439 'conditions': [ | |
440 ['OS=="linux"', | |
441 { | |
442 'link_settings': { | |
443 'libraries': [ | |
444 # Needed for clock_gettime() used by src/platform-linux.cc. | |
445 '-lrt', | |
446 ], | |
447 }, | |
448 'sources/': [ | |
449 ['include', 'src/platform-linux\\.cc$'], | |
450 ['include', 'src/platform-posix\\.cc$'] | |
451 ] | |
452 } | |
453 ], | |
454 ['OS=="mac"', | |
455 { | |
456 'sources/': [ | |
457 ['include', 'src/platform-macos\\.cc$'], | |
458 ['include', 'src/platform-posix\\.cc$'] | |
459 ] | |
460 } | |
461 ], | |
462 ['OS=="win"', { | |
463 'sources/': [['include', 'src/platform-win32\\.cc$']], | |
464 # 4355, 4800 came from common.vsprops | |
465 # 4018, 4244 were a per file config on dtoa-config.c | |
466 # TODO: It's probably possible and desirable to stop disabling the | |
467 # dtoa-specific warnings by modifying dtoa as was done in Chromium | |
468 # r9255. Refer to that revision for details. | |
469 'msvs_disabled_warnings': [4355, 4800, 4018, 4244], | |
470 'link_settings': { | |
471 'libraries': [ '-lwinmm.lib' ], | |
472 }, | |
473 }], | |
474 ], | |
475 }, | |
476 { | |
477 'target_name': 'v8_nosnapshot', | |
478 'type': '<(library)', | |
479 'defines': [ | |
480 'V8_TARGET_ARCH_IA32' | |
481 ], | |
482 'dependencies': [ | 149 'dependencies': [ |
| 150 'mksnapshot', |
483 'js2c', | 151 'js2c', |
484 'v8_base', | 152 'v8_base', |
485 ], | 153 ], |
486 'include_dirs': [ | 154 'include_dirs': [ |
487 '../../src', | 155 '../../src', |
488 ], | 156 ], |
489 'sources': [ | 157 'sources': [ |
490 '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', | 158 '<(INTERMEDIATE_DIR)/libraries-empty.cc', |
491 '../../src/snapshot-empty.cc', | 159 '../../src/snapshot.cc', |
492 ], | 160 ], |
493 'export_dependent_settings': [ | |
494 'v8_base', | |
495 ], | |
496 }, | |
497 { | |
498 'target_name': 'mksnapshot', | |
499 'type': 'executable', | |
500 'dependencies': [ | |
501 'v8_nosnapshot', | |
502 ], | |
503 'msvs_guid': '865575D0-37E2-405E-8CBA-5F6C485B5A26', | |
504 'sources': [ | |
505 '../../src/mksnapshot.cc', | |
506 ], | |
507 }, | |
508 { | |
509 'target_name': 'v8', | |
510 'type': '<(library)', | |
511 'defines': [ | |
512 'V8_TARGET_ARCH_IA32' | |
513 ], | |
514 'dependencies': [ | |
515 'js2c', | |
516 'mksnapshot', | |
517 'v8_base', | |
518 ], | |
519 'msvs_guid': '21E22961-22BF-4493-BD3A-868F93DA5179', | |
520 'actions': [ | 161 'actions': [ |
521 { | 162 { |
522 'action_name': 'mksnapshot', | 163 'action_name': 'run_mksnapshot', |
523 'inputs': [ | 164 'inputs': [ |
524 '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)', | 165 '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)', |
525 ], | 166 ], |
526 'outputs': [ | 167 'outputs': [ |
527 '<(INTERMEDIATE_DIR)/snapshot.cc', | 168 '<(INTERMEDIATE_DIR)/snapshot.cc', |
528 ], | 169 ], |
529 'action': ['<@(_inputs)', '<@(_outputs)'], | 170 'action': ['<@(_inputs)', '<@(_outputs)'], |
530 }, | 171 }, |
531 ], | 172 ], |
532 'include_dirs': [ | |
533 '../../src', | |
534 ], | |
535 'sources': [ | |
536 '<(SHARED_INTERMEDIATE_DIR)/libraries-empty.cc', | |
537 '<(INTERMEDIATE_DIR)/snapshot.cc', | |
538 ], | |
539 'direct_dependent_settings': { | |
540 'include_dirs': [ | |
541 '../../include', | |
542 ], | |
543 }, | |
544 'export_dependent_settings': [ | |
545 'v8_base', | |
546 ], | |
547 }, | 173 }, |
548 { | 174 { |
549 'target_name': 'v8_shell', | 175 'target_name': 'v8_nosnapshot', |
550 'type': 'executable', | |
551 'defines': [ | |
552 'V8_TARGET_ARCH_IA32' | |
553 ], | |
554 'dependencies': [ | |
555 'v8', | |
556 ], | |
557 'sources': [ | |
558 '../../samples/shell.cc', | |
559 ], | |
560 'conditions': [ | |
561 [ 'OS=="win"', { | |
562 # This could be gotten by not setting chromium_code, if that's OK. | |
563 'defines': ['_CRT_SECURE_NO_WARNINGS'], | |
564 }], | |
565 ], | |
566 }, | |
567 ], | |
568 | |
569 'conditions': [ ['OS=="mac"', { 'targets': [ | |
570 # TODO(bradnelson): temporarily disable 'd8' target on Windows while | |
571 # we work fix the performance regressions. | |
572 # TODO(sgk): temporarily disable 'd8' target on Linux while | |
573 # we work out getting the readline library on all the systems. | |
574 { | |
575 'target_name': 'd8', | |
576 'type': 'executable', | |
577 'dependencies': [ | |
578 'd8_js2c', | |
579 'v8', | |
580 ], | |
581 'defines': [ | |
582 'V8_TARGET_ARCH_IA32' | |
583 ], | |
584 'include_dirs': [ | |
585 '../../src', | |
586 ], | |
587 'sources': [ | |
588 '<(SHARED_INTERMEDIATE_DIR)/d8-js.cc', | |
589 '<@(d8_source_files)', | |
590 ], | |
591 'conditions': [ | |
592 [ 'OS=="linux"', { | |
593 'sources!': [ '../../src/d8-windows.cc' ], | |
594 'link_settings': { 'libraries': [ '-lreadline' ] }, | |
595 }], | |
596 [ 'OS=="mac"', { | |
597 'sources!': [ '../../src/d8-windows.cc' ], | |
598 'link_settings': { 'libraries': [ | |
599 '$(SDKROOT)/usr/lib/libreadline.dylib' | |
600 ]}, | |
601 }], | |
602 [ 'OS=="win"', { | |
603 'sources!': [ '../../src/d8-readline.cc', '../../src/d8-posix.cc' ], | |
604 }], | |
605 ], | |
606 }, | |
607 # TODO(sgk): temporarily disable the arm targets on Linux while | |
608 # we work out how to refactor the generator and/or add configuration | |
609 # settings to the .gyp file to handle building both variants in | |
610 # the same output directory. | |
611 # | |
612 # ARM targets, to test ARM code generation. These use an ARM simulator | |
613 # (src/simulator-arm.cc). The ARM targets are not snapshot-enabled. | |
614 { | |
615 'target_name': 'v8_arm', | |
616 'type': '<(library)', | 176 'type': '<(library)', |
617 'dependencies': [ | 177 'dependencies': [ |
618 'js2c', | 178 'js2c', |
619 ], | 179 'v8_base', |
620 'defines': [ | 180 ], |
621 'V8_TARGET_ARCH_ARM', | 181 'include_dirs': [ |
622 ], | |
623 'include_dirs+': [ | |
624 '../../src', | 182 '../../src', |
625 '../../src/arm', | |
626 ], | 183 ], |
627 'sources': [ | 184 'sources': [ |
628 '<@(base_source_files)', | |
629 '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', | 185 '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', |
630 '../../src/snapshot-empty.cc', | 186 '../../src/snapshot-empty.cc', |
631 ], | 187 ], |
632 'sources!': [ | 188 }, |
633 '<@(not_base_source_files)', | 189 { |
634 ], | 190 'target_name': 'v8_base', |
635 'sources/': [ | 191 'type': '<(library)', |
636 ['exclude', '-ia32\\.cc$'], | 192 'include_dirs': [ |
637 ['exclude', 'src/platform-.*\\.cc$' ], | 193 '../../src', |
638 ], | 194 ], |
639 'direct_dependent_settings': { | 195 'sources': [ |
640 'include_dirs': [ | 196 '../../src/accessors.cc', |
641 '../../include', | 197 '../../src/accessors.h', |
642 ], | 198 '../../src/allocation.cc', |
643 }, | 199 '../../src/allocation.h', |
| 200 '../../src/api.cc', |
| 201 '../../src/api.h', |
| 202 '../../src/apiutils.h', |
| 203 '../../src/arguments.h', |
| 204 '../../src/assembler.cc', |
| 205 '../../src/assembler.h', |
| 206 '../../src/ast.cc', |
| 207 '../../src/ast.h', |
| 208 '../../src/bootstrapper.cc', |
| 209 '../../src/bootstrapper.h', |
| 210 '../../src/builtins.cc', |
| 211 '../../src/builtins.h', |
| 212 '../../src/bytecodes-irregexp.h', |
| 213 '../../src/char-predicates-inl.h', |
| 214 '../../src/char-predicates.h', |
| 215 '../../src/checks.cc', |
| 216 '../../src/checks.h', |
| 217 '../../src/code-stubs.cc', |
| 218 '../../src/code-stubs.h', |
| 219 '../../src/code.h', |
| 220 '../../src/codegen-inl.h', |
| 221 '../../src/codegen.cc', |
| 222 '../../src/codegen.h', |
| 223 '../../src/compilation-cache.cc', |
| 224 '../../src/compilation-cache.h', |
| 225 '../../src/compiler.cc', |
| 226 '../../src/compiler.h', |
| 227 '../../src/contexts.cc', |
| 228 '../../src/contexts.h', |
| 229 '../../src/conversions-inl.h', |
| 230 '../../src/conversions.cc', |
| 231 '../../src/conversions.h', |
| 232 '../../src/counters.cc', |
| 233 '../../src/counters.h', |
| 234 '../../src/cpu.h', |
| 235 '../../src/dateparser.cc', |
| 236 '../../src/dateparser.h', |
| 237 '../../src/dateparser-inl.h', |
| 238 '../../src/debug.cc', |
| 239 '../../src/debug.h', |
| 240 '../../src/debug-agent.cc', |
| 241 '../../src/debug-agent.h', |
| 242 '../../src/disasm.h', |
| 243 '../../src/disassembler.cc', |
| 244 '../../src/disassembler.h', |
| 245 '../../src/dtoa-config.c', |
| 246 '../../src/execution.cc', |
| 247 '../../src/execution.h', |
| 248 '../../src/factory.cc', |
| 249 '../../src/factory.h', |
| 250 '../../src/flag-definitions.h', |
| 251 '../../src/flags.cc', |
| 252 '../../src/flags.h', |
| 253 '../../src/frames-inl.h', |
| 254 '../../src/frames.cc', |
| 255 '../../src/frames.h', |
| 256 '../../src/frame-element.h', |
| 257 '../../src/func-name-inferrer.cc', |
| 258 '../../src/func-name-inferrer.h', |
| 259 '../../src/global-handles.cc', |
| 260 '../../src/global-handles.h', |
| 261 '../../src/globals.h', |
| 262 '../../src/handles-inl.h', |
| 263 '../../src/handles.cc', |
| 264 '../../src/handles.h', |
| 265 '../../src/hashmap.cc', |
| 266 '../../src/hashmap.h', |
| 267 '../../src/heap-inl.h', |
| 268 '../../src/heap.cc', |
| 269 '../../src/heap.h', |
| 270 '../../src/ic-inl.h', |
| 271 '../../src/ic.cc', |
| 272 '../../src/ic.h', |
| 273 '../../src/interpreter-irregexp.cc', |
| 274 '../../src/interpreter-irregexp.h', |
| 275 '../../src/jump-target.cc', |
| 276 '../../src/jump-target.h', |
| 277 '../../src/jump-target-inl.h', |
| 278 '../../src/jsregexp-inl.h', |
| 279 '../../src/jsregexp.cc', |
| 280 '../../src/jsregexp.h', |
| 281 '../../src/list-inl.h', |
| 282 '../../src/list.h', |
| 283 '../../src/log.cc', |
| 284 '../../src/log-inl.h', |
| 285 '../../src/log.h', |
| 286 '../../src/log-utils.cc', |
| 287 '../../src/log-utils.h', |
| 288 '../../src/macro-assembler.h', |
| 289 '../../src/mark-compact.cc', |
| 290 '../../src/mark-compact.h', |
| 291 '../../src/memory.h', |
| 292 '../../src/messages.cc', |
| 293 '../../src/messages.h', |
| 294 '../../src/natives.h', |
| 295 '../../src/objects-debug.cc', |
| 296 '../../src/objects-inl.h', |
| 297 '../../src/objects.cc', |
| 298 '../../src/objects.h', |
| 299 '../../src/oprofile-agent.h', |
| 300 '../../src/oprofile-agent.cc', |
| 301 '../../src/parser.cc', |
| 302 '../../src/parser.h', |
| 303 '../../src/platform.h', |
| 304 '../../src/prettyprinter.cc', |
| 305 '../../src/prettyprinter.h', |
| 306 '../../src/property.cc', |
| 307 '../../src/property.h', |
| 308 '../../src/regexp-macro-assembler-irregexp-inl.h', |
| 309 '../../src/regexp-macro-assembler-irregexp.cc', |
| 310 '../../src/regexp-macro-assembler-irregexp.h', |
| 311 '../../src/regexp-macro-assembler-tracer.cc', |
| 312 '../../src/regexp-macro-assembler-tracer.h', |
| 313 '../../src/regexp-macro-assembler.cc', |
| 314 '../../src/regexp-macro-assembler.h', |
| 315 '../../src/regexp-stack.cc', |
| 316 '../../src/regexp-stack.h', |
| 317 '../../src/register-allocator.h', |
| 318 '../../src/register-allocator-inl.h', |
| 319 '../../src/register-allocator.cc', |
| 320 '../../src/rewriter.cc', |
| 321 '../../src/rewriter.h', |
| 322 '../../src/runtime.cc', |
| 323 '../../src/runtime.h', |
| 324 '../../src/scanner.cc', |
| 325 '../../src/scanner.h', |
| 326 '../../src/scopeinfo.cc', |
| 327 '../../src/scopeinfo.h', |
| 328 '../../src/scopes.cc', |
| 329 '../../src/scopes.h', |
| 330 '../../src/serialize.cc', |
| 331 '../../src/serialize.h', |
| 332 '../../src/shell.h', |
| 333 '../../src/smart-pointer.h', |
| 334 '../../src/snapshot-common.cc', |
| 335 '../../src/snapshot.h', |
| 336 '../../src/spaces-inl.h', |
| 337 '../../src/spaces.cc', |
| 338 '../../src/spaces.h', |
| 339 '../../src/string-stream.cc', |
| 340 '../../src/string-stream.h', |
| 341 '../../src/stub-cache.cc', |
| 342 '../../src/stub-cache.h', |
| 343 '../../src/token.cc', |
| 344 '../../src/token.h', |
| 345 '../../src/top.cc', |
| 346 '../../src/top.h', |
| 347 '../../src/unicode-inl.h', |
| 348 '../../src/unicode.cc', |
| 349 '../../src/unicode.h', |
| 350 '../../src/usage-analyzer.cc', |
| 351 '../../src/usage-analyzer.h', |
| 352 '../../src/utils.cc', |
| 353 '../../src/utils.h', |
| 354 '../../src/v8-counters.cc', |
| 355 '../../src/v8-counters.h', |
| 356 '../../src/v8.cc', |
| 357 '../../src/v8.h', |
| 358 '../../src/v8threads.cc', |
| 359 '../../src/v8threads.h', |
| 360 '../../src/variables.cc', |
| 361 '../../src/variables.h', |
| 362 '../../src/version.cc', |
| 363 '../../src/version.h', |
| 364 '../../src/virtual-frame.h', |
| 365 '../../src/virtual-frame.cc', |
| 366 '../../src/zone-inl.h', |
| 367 '../../src/zone.cc', |
| 368 '../../src/zone.h', |
| 369 ], |
644 'conditions': [ | 370 'conditions': [ |
645 ['OS=="linux"', | 371 ['target_arch=="arm"', { |
646 { | 372 'include_dirs+': [ |
647 'sources/': [ | 373 '../../src/arm', |
648 ['include', 'src/platform-linux\\.cc$'], | 374 ], |
649 ['include', 'src/platform-posix\\.cc$'] | 375 'sources': [ |
650 ] | 376 '../../src/arm/assembler-arm-inl.h', |
651 } | 377 '../../src/arm/assembler-arm.cc', |
652 ], | 378 '../../src/arm/assembler-arm.h', |
653 ['OS=="mac"', | 379 '../../src/arm/builtins-arm.cc', |
654 { | 380 '../../src/arm/codegen-arm.cc', |
655 'sources/': [ | 381 '../../src/arm/codegen-arm.h', |
656 ['include', 'src/platform-macos\\.cc$'], | 382 '../../src/arm/constants-arm.h', |
657 ['include', 'src/platform-posix\\.cc$'] | 383 '../../src/arm/cpu-arm.cc', |
658 ] | 384 '../../src/arm/debug-arm.cc', |
659 } | 385 '../../src/arm/disasm-arm.cc', |
660 ], | 386 '../../src/arm/frames-arm.cc', |
| 387 '../../src/arm/frames-arm.h', |
| 388 '../../src/arm/ic-arm.cc', |
| 389 '../../src/arm/jump-target-arm.cc', |
| 390 '../../src/arm/macro-assembler-arm.cc', |
| 391 '../../src/arm/macro-assembler-arm.h', |
| 392 '../../src/arm/regexp-macro-assembler-arm.cc', |
| 393 '../../src/arm/regexp-macro-assembler-arm.h', |
| 394 '../../src/arm/register-allocator-arm.cc', |
| 395 '../../src/arm/simulator-arm.cc', |
| 396 '../../src/arm/stub-cache-arm.cc', |
| 397 '../../src/arm/virtual-frame-arm.cc', |
| 398 '../../src/arm/virtual-frame-arm.h', |
| 399 ], |
| 400 }], |
| 401 ['target_arch=="ia32"', { |
| 402 'include_dirs+': [ |
| 403 '../../src/ia32', |
| 404 ], |
| 405 'sources': [ |
| 406 '../../src/ia32/assembler-ia32-inl.h', |
| 407 '../../src/ia32/assembler-ia32.cc', |
| 408 '../../src/ia32/assembler-ia32.h', |
| 409 '../../src/ia32/builtins-ia32.cc', |
| 410 '../../src/ia32/codegen-ia32.cc', |
| 411 '../../src/ia32/codegen-ia32.h', |
| 412 '../../src/ia32/cpu-ia32.cc', |
| 413 '../../src/ia32/debug-ia32.cc', |
| 414 '../../src/ia32/disasm-ia32.cc', |
| 415 '../../src/ia32/frames-ia32.cc', |
| 416 '../../src/ia32/frames-ia32.h', |
| 417 '../../src/ia32/ic-ia32.cc', |
| 418 '../../src/ia32/jump-target-ia32.cc', |
| 419 '../../src/ia32/macro-assembler-ia32.cc', |
| 420 '../../src/ia32/macro-assembler-ia32.h', |
| 421 '../../src/ia32/regexp-macro-assembler-ia32.cc', |
| 422 '../../src/ia32/regexp-macro-assembler-ia32.h', |
| 423 '../../src/ia32/register-allocator-ia32.cc', |
| 424 '../../src/ia32/stub-cache-ia32.cc', |
| 425 '../../src/ia32/virtual-frame-ia32.cc', |
| 426 '../../src/ia32/virtual-frame-ia32.h', |
| 427 ], |
| 428 }], |
| 429 ['OS=="linux"', { |
| 430 'link_settings': { |
| 431 'libraries': [ |
| 432 # Needed for clock_gettime() used by src/platform-linux.cc. |
| 433 '-lrt', |
| 434 ]}, |
| 435 'sources': [ |
| 436 '../../src/platform-linux.cc', |
| 437 '../../src/platform-posix.cc', |
| 438 ], |
| 439 }], |
| 440 ['OS=="mac"', { |
| 441 'sources': [ |
| 442 '../../src/platform-macos.cc', |
| 443 '../../src/platform-posix.cc', |
| 444 ] |
| 445 }], |
661 ['OS=="win"', { | 446 ['OS=="win"', { |
662 'sources/': [['include', 'src/platform-win32\\.cc$']], | 447 'sources': [ |
| 448 '../../src/platform-win32.cc', |
| 449 ], |
663 # 4355, 4800 came from common.vsprops | 450 # 4355, 4800 came from common.vsprops |
664 # 4018, 4244 were a per file config on dtoa-config.c | 451 # 4018, 4244 were a per file config on dtoa-config.c |
665 # TODO: It's probably possible and desirable to stop disabling the | 452 # TODO: It's probably possible and desirable to stop disabling the |
666 # dtoa-specific warnings by modifying dtoa as was done in Chromium | 453 # dtoa-specific warnings by modifying dtoa as was done in Chromium |
667 # r9255. Refer to that revision for details. | 454 # r9255. Refer to that revision for details. |
668 'msvs_disabled_warnings': [4355, 4800, 4018, 4244], | 455 'msvs_disabled_warnings': [4355, 4800, 4018, 4244], |
| 456 'link_settings': { |
| 457 'libraries': [ '-lwinmm.lib' ], |
| 458 }, |
669 }], | 459 }], |
670 ], | 460 ], |
671 }, | 461 }, |
672 { | 462 { |
673 'target_name': 'v8_shell_arm', | 463 'target_name': 'js2c', |
| 464 'type': 'none', |
| 465 'variables': { |
| 466 'library_files': [ |
| 467 '../../src/runtime.js', |
| 468 '../../src/v8natives.js', |
| 469 '../../src/array.js', |
| 470 '../../src/string.js', |
| 471 '../../src/uri.js', |
| 472 '../../src/math.js', |
| 473 '../../src/messages.js', |
| 474 '../../src/apinatives.js', |
| 475 '../../src/debug-delay.js', |
| 476 '../../src/mirror-delay.js', |
| 477 '../../src/date-delay.js', |
| 478 '../../src/json-delay.js', |
| 479 '../../src/regexp-delay.js', |
| 480 '../../src/macros.py', |
| 481 ], |
| 482 }, |
| 483 'actions': [ |
| 484 { |
| 485 'action_name': 'js2c', |
| 486 'inputs': [ |
| 487 '../../tools/js2c.py', |
| 488 '<@(library_files)', |
| 489 ], |
| 490 'outputs': [ |
| 491 '<(SHARED_INTERMEDIATE_DIR)/libraries.cc', |
| 492 '<(SHARED_INTERMEDIATE_DIR)/libraries-empty.cc', |
| 493 ], |
| 494 'action': [ |
| 495 'python', |
| 496 '../../tools/js2c.py', |
| 497 '<@(_outputs)', |
| 498 'CORE', |
| 499 '<@(library_files)' |
| 500 ], |
| 501 }, |
| 502 ], |
| 503 }, |
| 504 { |
| 505 'target_name': 'mksnapshot', |
674 'type': 'executable', | 506 'type': 'executable', |
675 'dependencies': [ | 507 'dependencies': [ |
676 'v8_arm', | 508 'v8_nosnapshot', |
677 ], | |
678 'defines': [ | |
679 'V8_TARGET_ARCH_ARM', | |
680 ], | 509 ], |
681 'sources': [ | 510 'sources': [ |
682 '../../samples/shell.cc', | 511 '../../src/mksnapshot.cc', |
683 ], | 512 ], |
684 'conditions': [ | 513 } |
685 [ 'OS=="win"', { | |
686 # This could be gotten by not setting chromium_code, if that's OK. | |
687 'defines': ['_CRT_SECURE_NO_WARNINGS'], | |
688 }], | |
689 ], | |
690 }, | |
691 { | |
692 'target_name': 'd8_arm', | |
693 'type': 'executable', | |
694 'dependencies': [ | |
695 'd8_js2c', | |
696 'v8_arm', | |
697 ], | |
698 'defines': [ | |
699 'V8_TARGET_ARCH_ARM', | |
700 ], | |
701 'include_dirs': [ | |
702 '../../src', | |
703 ], | |
704 'sources': [ | |
705 '<(SHARED_INTERMEDIATE_DIR)/d8-js.cc', | |
706 '<@(d8_source_files)', | |
707 ], | |
708 'conditions': [ | |
709 [ 'OS=="linux"', { | |
710 'sources!': [ '../../src/d8-windows.cc' ], | |
711 'link_settings': { 'libraries': [ '-lreadline' ] }, | |
712 }], | |
713 [ 'OS=="mac"', { | |
714 'sources!': [ '../../src/d8-windows.cc' ], | |
715 'link_settings': { 'libraries': [ | |
716 '$(SDKROOT)/usr/lib/libreadline.dylib' | |
717 ]}, | |
718 }], | |
719 [ 'OS=="win"', { | |
720 'sources!': [ '../../src/d8-readline.cc', '../../src/d8-posix.cc' ], | |
721 }], | |
722 ], | |
723 }, | |
724 ]}], # OS != "linux" (temporary, TODO(sgk)) | |
725 | |
726 | |
727 ['OS=="win"', { | |
728 'target_defaults': { | |
729 'defines': [ | |
730 '_USE_32BIT_TIME_T', | |
731 '_CRT_SECURE_NO_DEPRECATE', | |
732 '_CRT_NONSTDC_NO_DEPRECATE', | |
733 ], | |
734 'msvs_settings': { | |
735 'VCLinkerTool': { | |
736 'AdditionalOptions': '/IGNORE:4221 /NXCOMPAT', | |
737 }, | |
738 }, | |
739 }, | |
740 }], | |
741 ], | 514 ], |
742 } | 515 } |
OLD | NEW |