OLD | NEW |
1 # Copyright 2012 the V8 project authors. All rights reserved. | 1 # Copyright 2013 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 |
11 # with the distribution. | 11 # with the distribution. |
(...skipping 13 matching lines...) Expand all Loading... |
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 # Shared definitions for all V8-related targets. | 28 # Shared definitions for all V8-related targets. |
29 | 29 |
30 { | 30 { |
31 'variables': { | 31 'variables': { |
32 'msvs_use_common_release': 0, | 32 'msvs_use_common_release': 0, |
33 'gcc_version%': 'unknown', | 33 'gcc_version%': 'unknown', |
34 'CXX%': '${CXX:-$(which g++)}', # Used to assemble a shell command. | 34 'CXX%': '${CXX:-$(which g++)}', # Used to assemble a shell command. |
35 'v8_compress_startup_data%': 'off', | |
36 'v8_target_arch%': '<(target_arch)', | 35 'v8_target_arch%': '<(target_arch)', |
37 # Native Client builds currently use the V8 ARM JIT and | 36 # Native Client builds currently use the V8 ARM JIT and |
38 # arm/simulator-arm.cc to defer the significant effort required | 37 # arm/simulator-arm.cc to defer the significant effort required |
39 # for NaCl JIT support. The nacl_target_arch variable provides | 38 # for NaCl JIT support. The nacl_target_arch variable provides |
40 # the 'true' target arch for places in this file that need it. | 39 # the 'true' target arch for places in this file that need it. |
41 # TODO(bradchen): get rid of nacl_target_arch when someday | 40 # TODO(bradchen): get rid of nacl_target_arch when someday |
42 # NaCl V8 builds stop using the ARM simulator | 41 # NaCl V8 builds stop using the ARM simulator |
43 'nacl_target_arch%': 'none', # must be set externally | 42 'nacl_target_arch%': 'none', # must be set externally |
44 | 43 |
45 # Setting 'v8_can_use_unaligned_accesses' to 'true' will allow the code | |
46 # generated by V8 to do unaligned memory access, and setting it to 'false' | |
47 # will ensure that the generated code will always do aligned memory | |
48 # accesses. The default value of 'default' will try to determine the correct | |
49 # setting. Note that for Intel architectures (ia32 and x64) unaligned memory | |
50 # access is allowed for all CPUs. | |
51 'v8_can_use_unaligned_accesses%': 'default', | |
52 | |
53 # Setting 'v8_can_use_vfp32dregs' to 'true' will cause V8 to use the VFP | 44 # Setting 'v8_can_use_vfp32dregs' to 'true' will cause V8 to use the VFP |
54 # registers d16-d31 in the generated code, both in the snapshot and for the | 45 # registers d16-d31 in the generated code, both in the snapshot and for the |
55 # ARM target. Leaving the default value of 'false' will avoid the use of | 46 # ARM target. Leaving the default value of 'false' will avoid the use of |
56 # these registers in the snapshot and use CPU feature probing when running | 47 # these registers in the snapshot and use CPU feature probing when running |
57 # on the target. | 48 # on the target. |
58 'v8_can_use_vfp32dregs%': 'false', | 49 'v8_can_use_vfp32dregs%': 'false', |
59 'arm_test%': 'off', | 50 'arm_test%': 'off', |
60 | 51 |
61 # Similar to vfp but on MIPS. | 52 # Similar to vfp but on MIPS. |
62 'v8_can_use_fpu_instructions%': 'true', | 53 'v8_can_use_fpu_instructions%': 'true', |
63 | 54 |
64 # Similar to the ARM hard float ABI but on MIPS. | 55 # Similar to the ARM hard float ABI but on MIPS. |
65 'v8_use_mips_abi_hardfloat%': 'true', | 56 'v8_use_mips_abi_hardfloat%': 'true', |
66 | 57 |
67 # Default arch variant for MIPS. | 58 # Default arch variant for MIPS. |
68 'mips_arch_variant%': 'mips32r2', | 59 'mips_arch_variant%': 'mips32r2', |
69 | 60 |
70 'v8_enable_debugger_support%': 1, | |
71 | |
72 'v8_enable_backtrace%': 0, | 61 'v8_enable_backtrace%': 0, |
73 | |
74 'v8_enable_disassembler%': 0, | |
75 | |
76 'v8_enable_gdbjit%': 0, | |
77 | |
78 'v8_object_print%': 0, | |
79 | |
80 # Enable profiling support. Only required on Windows. | 62 # Enable profiling support. Only required on Windows. |
81 'v8_enable_prof%': 0, | 63 'v8_enable_prof%': 0, |
82 | 64 |
83 'v8_enable_verify_heap%': 0, | |
84 | |
85 # Some versions of GCC 4.5 seem to need -fno-strict-aliasing. | 65 # Some versions of GCC 4.5 seem to need -fno-strict-aliasing. |
86 'v8_no_strict_aliasing%': 0, | 66 'v8_no_strict_aliasing%': 0, |
87 | 67 |
88 # Chrome needs this definition unconditionally. For standalone V8 builds, | 68 # Chrome needs this definition unconditionally. For standalone V8 builds, |
89 # it's handled in build/standalone.gypi. | 69 # it's handled in build/standalone.gypi. |
90 'want_separate_host_toolset%': 1, | 70 'want_separate_host_toolset%': 1, |
91 | 71 |
92 'v8_use_snapshot%': 'true', | |
93 'host_os%': '<(OS)', | 72 'host_os%': '<(OS)', |
94 'werror%': '-Werror', | 73 'werror%': '-Werror', |
95 | |
96 # With post mortem support enabled, metadata is embedded into libv8 that | |
97 # describes various parameters of the VM for use by debuggers. See | |
98 # tools/gen-postmortem-metadata.py for details. | |
99 'v8_postmortem_support%': 'false', | |
100 | |
101 # For a shared library build, results in "libv8-<(soname_version).so". | 74 # For a shared library build, results in "libv8-<(soname_version).so". |
102 'soname_version%': '', | 75 'soname_version%': '', |
103 | |
104 # Interpreted regexp engine exists as platform-independent alternative | |
105 # based where the regular expression is compiled to a bytecode. | |
106 'v8_interpreted_regexp%': 0, | |
107 | |
108 # Enable ECMAScript Internationalization API. Enabling this feature will | |
109 # add a dependency on the ICU library. | |
110 'v8_enable_i18n_support%': 0, | |
111 }, | 76 }, |
112 'target_defaults': { | 77 'target_defaults': { |
113 'conditions': [ | 78 'conditions': [ |
114 ['v8_enable_debugger_support==1', { | |
115 'defines': ['ENABLE_DEBUGGER_SUPPORT',], | |
116 }], | |
117 ['v8_enable_disassembler==1', { | |
118 'defines': ['ENABLE_DISASSEMBLER',], | |
119 }], | |
120 ['v8_enable_gdbjit==1', { | |
121 'defines': ['ENABLE_GDB_JIT_INTERFACE',], | |
122 }], | |
123 ['v8_object_print==1', { | |
124 'defines': ['OBJECT_PRINT',], | |
125 }], | |
126 ['v8_enable_verify_heap==1', { | |
127 'defines': ['VERIFY_HEAP',], | |
128 }], | |
129 ['v8_interpreted_regexp==1', { | |
130 'defines': ['V8_INTERPRETED_REGEXP',], | |
131 }], | |
132 ['v8_enable_i18n_support==1', { | |
133 'defines': ['V8_I18N_SUPPORT',], | |
134 }], | |
135 ['v8_target_arch=="arm"', { | 79 ['v8_target_arch=="arm"', { |
136 'defines': [ | 80 'defines': [ |
137 'V8_TARGET_ARCH_ARM', | 81 'V8_TARGET_ARCH_ARM', |
138 ], | 82 ], |
139 'target_conditions': [ | 83 'target_conditions': [ |
140 ['_toolset=="host"', { | 84 ['_toolset=="host"', { |
141 'variables': { | 85 'variables': { |
142 'armcompiler': '<!($(echo ${CXX_host:-$(which g++)}) -v 2>&1 | gre
p -q "^Target: arm" && echo "yes" || echo "no")', | 86 'armcompiler': '<!($(echo ${CXX_host:-$(which g++)}) -v 2>&1 | gre
p -q "^Target: arm" && echo "yes" || echo "no")', |
143 }, | 87 }, |
144 'conditions': [ | 88 'conditions': [ |
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
384 'xcode_settings': { | 328 'xcode_settings': { |
385 'ARCHS': [ 'x86_64' ], | 329 'ARCHS': [ 'x86_64' ], |
386 }, | 330 }, |
387 'msvs_settings': { | 331 'msvs_settings': { |
388 'VCLinkerTool': { | 332 'VCLinkerTool': { |
389 'StackReserveSize': '2097152', | 333 'StackReserveSize': '2097152', |
390 }, | 334 }, |
391 }, | 335 }, |
392 'msvs_configuration_platform': 'x64', | 336 'msvs_configuration_platform': 'x64', |
393 }], # v8_target_arch=="x64" | 337 }], # v8_target_arch=="x64" |
394 ['v8_compress_startup_data=="bz2"', { | |
395 'defines': [ | |
396 'COMPRESS_STARTUP_DATA_BZ2', | |
397 ], | |
398 }], | |
399 ['OS=="win"', { | 338 ['OS=="win"', { |
400 'defines': [ | 339 'defines': [ |
401 'WIN32', | 340 'WIN32', |
402 ], | 341 ], |
403 'msvs_configuration_attributes': { | 342 'msvs_configuration_attributes': { |
404 'OutputDirectory': '<(DEPTH)\\build\\$(ConfigurationName)', | 343 'OutputDirectory': '<(DEPTH)\\build\\$(ConfigurationName)', |
405 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)', | 344 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)', |
406 'CharacterSet': '1', | 345 'CharacterSet': '1', |
407 }, | 346 }, |
408 }], | 347 }], |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
481 }], | 420 }], |
482 ['OS=="freebsd" or OS=="openbsd"', { | 421 ['OS=="freebsd" or OS=="openbsd"', { |
483 'cflags': [ '-I/usr/local/include' ], | 422 'cflags': [ '-I/usr/local/include' ], |
484 }], | 423 }], |
485 ['OS=="netbsd"', { | 424 ['OS=="netbsd"', { |
486 'cflags': [ '-I/usr/pkg/include' ], | 425 'cflags': [ '-I/usr/pkg/include' ], |
487 }], | 426 }], |
488 ], # conditions | 427 ], # conditions |
489 'configurations': { | 428 'configurations': { |
490 'Debug': { | 429 'Debug': { |
491 'variables': { | |
492 'v8_enable_extra_checks%': 1, | |
493 }, | |
494 'defines': [ | 430 'defines': [ |
495 'DEBUG', | 431 'DEBUG', |
496 'ENABLE_DISASSEMBLER', | 432 'ENABLE_DISASSEMBLER', |
497 'V8_ENABLE_CHECKS', | 433 'V8_ENABLE_CHECKS', |
498 'OBJECT_PRINT', | 434 'OBJECT_PRINT', |
499 'VERIFY_HEAP', | 435 'VERIFY_HEAP', |
500 ], | 436 ], |
501 'msvs_settings': { | 437 'msvs_settings': { |
502 'VCCLCompilerTool': { | 438 'VCCLCompilerTool': { |
503 'Optimization': '0', | 439 'Optimization': '0', |
504 | 440 |
505 'conditions': [ | 441 'conditions': [ |
506 ['OS=="win" and component=="shared_library"', { | 442 ['OS=="win" and component=="shared_library"', { |
507 'RuntimeLibrary': '3', # /MDd | 443 'RuntimeLibrary': '3', # /MDd |
508 }, { | 444 }, { |
509 'RuntimeLibrary': '1', # /MTd | 445 'RuntimeLibrary': '1', # /MTd |
510 }], | 446 }], |
511 ], | 447 ], |
512 }, | 448 }, |
513 'VCLinkerTool': { | 449 'VCLinkerTool': { |
514 'LinkIncremental': '2', | 450 'LinkIncremental': '2', |
515 }, | 451 }, |
516 }, | 452 }, |
517 'conditions': [ | 453 'conditions': [ |
518 ['v8_enable_extra_checks==1', { | |
519 'defines': ['ENABLE_EXTRA_CHECKS',], | |
520 }], | |
521 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', { | 454 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', { |
522 'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter', | 455 'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter', |
523 '-Wnon-virtual-dtor', '-Woverloaded-virtual' ], | 456 '-Wnon-virtual-dtor', '-Woverloaded-virtual' ], |
524 }], | 457 }], |
525 ['OS=="linux" and v8_enable_backtrace==1', { | 458 ['OS=="linux" and v8_enable_backtrace==1', { |
526 # Support for backtrace_symbols. | 459 # Support for backtrace_symbols. |
527 'ldflags': [ '-rdynamic' ], | 460 'ldflags': [ '-rdynamic' ], |
528 }], | 461 }], |
529 ['OS=="android"', { | 462 ['OS=="android"', { |
530 'variables': { | 463 'variables': { |
(...skipping 10 matching lines...) Expand all Loading... |
541 ], | 474 ], |
542 }], | 475 }], |
543 ['OS=="mac"', { | 476 ['OS=="mac"', { |
544 'xcode_settings': { | 477 'xcode_settings': { |
545 'GCC_OPTIMIZATION_LEVEL': '0', # -O0 | 478 'GCC_OPTIMIZATION_LEVEL': '0', # -O0 |
546 }, | 479 }, |
547 }], | 480 }], |
548 ], | 481 ], |
549 }, # Debug | 482 }, # Debug |
550 'Release': { | 483 'Release': { |
551 'variables': { | |
552 'v8_enable_extra_checks%': 0, | |
553 }, | |
554 'conditions': [ | 484 'conditions': [ |
555 ['v8_enable_extra_checks==1', { | |
556 'defines': ['ENABLE_EXTRA_CHECKS',], | |
557 }], | |
558 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', { | 485 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', { |
559 'cflags!': [ | 486 'cflags!': [ |
560 '-O2', | 487 '-O2', |
561 '-Os', | 488 '-Os', |
562 ], | 489 ], |
563 'cflags': [ | 490 'cflags': [ |
564 '-fdata-sections', | 491 '-fdata-sections', |
565 '-ffunction-sections', | 492 '-ffunction-sections', |
566 '-O3', | 493 '-O3', |
567 ], | 494 ], |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
629 'OptimizeReferences': '2', | 556 'OptimizeReferences': '2', |
630 'EnableCOMDATFolding': '2', | 557 'EnableCOMDATFolding': '2', |
631 }, | 558 }, |
632 }, | 559 }, |
633 }], # OS=="win" | 560 }], # OS=="win" |
634 ], # conditions | 561 ], # conditions |
635 }, # Release | 562 }, # Release |
636 }, # configurations | 563 }, # configurations |
637 }, # target_defaults | 564 }, # target_defaults |
638 } | 565 } |
OLD | NEW |