| 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 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 389 'xcode_settings': { | 333 'xcode_settings': { |
| 390 'ARCHS': [ 'x86_64' ], | 334 'ARCHS': [ 'x86_64' ], |
| 391 }, | 335 }, |
| 392 'msvs_settings': { | 336 'msvs_settings': { |
| 393 'VCLinkerTool': { | 337 'VCLinkerTool': { |
| 394 'StackReserveSize': '2097152', | 338 'StackReserveSize': '2097152', |
| 395 }, | 339 }, |
| 396 }, | 340 }, |
| 397 'msvs_configuration_platform': 'x64', | 341 'msvs_configuration_platform': 'x64', |
| 398 }], # v8_target_arch=="x64" | 342 }], # v8_target_arch=="x64" |
| 399 ['v8_compress_startup_data=="bz2"', { | |
| 400 'defines': [ | |
| 401 'COMPRESS_STARTUP_DATA_BZ2', | |
| 402 ], | |
| 403 }], | |
| 404 ['OS=="win"', { | 343 ['OS=="win"', { |
| 405 'defines': [ | 344 'defines': [ |
| 406 'WIN32', | 345 'WIN32', |
| 407 ], | 346 ], |
| 408 'msvs_configuration_attributes': { | 347 'msvs_configuration_attributes': { |
| 409 'OutputDirectory': '<(DEPTH)\\build\\$(ConfigurationName)', | 348 'OutputDirectory': '<(DEPTH)\\build\\$(ConfigurationName)', |
| 410 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)', | 349 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)', |
| 411 'CharacterSet': '1', | 350 'CharacterSet': '1', |
| 412 }, | 351 }, |
| 413 }], | 352 }], |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 486 }], | 425 }], |
| 487 ['OS=="freebsd" or OS=="openbsd"', { | 426 ['OS=="freebsd" or OS=="openbsd"', { |
| 488 'cflags': [ '-I/usr/local/include' ], | 427 'cflags': [ '-I/usr/local/include' ], |
| 489 }], | 428 }], |
| 490 ['OS=="netbsd"', { | 429 ['OS=="netbsd"', { |
| 491 'cflags': [ '-I/usr/pkg/include' ], | 430 'cflags': [ '-I/usr/pkg/include' ], |
| 492 }], | 431 }], |
| 493 ], # conditions | 432 ], # conditions |
| 494 'configurations': { | 433 'configurations': { |
| 495 'Debug': { | 434 'Debug': { |
| 496 'variables': { | |
| 497 'v8_enable_extra_checks%': 1, | |
| 498 }, | |
| 499 'defines': [ | 435 'defines': [ |
| 500 'DEBUG', | 436 'DEBUG', |
| 501 'ENABLE_DISASSEMBLER', | 437 'ENABLE_DISASSEMBLER', |
| 502 'V8_ENABLE_CHECKS', | 438 'V8_ENABLE_CHECKS', |
| 503 'OBJECT_PRINT', | 439 'OBJECT_PRINT', |
| 504 'VERIFY_HEAP', | 440 'VERIFY_HEAP', |
| 505 ], | 441 ], |
| 506 'msvs_settings': { | 442 'msvs_settings': { |
| 507 'VCCLCompilerTool': { | 443 'VCCLCompilerTool': { |
| 508 'Optimization': '0', | 444 'Optimization': '0', |
| 509 | 445 |
| 510 'conditions': [ | 446 'conditions': [ |
| 511 ['OS=="win" and component=="shared_library"', { | 447 ['OS=="win" and component=="shared_library"', { |
| 512 'RuntimeLibrary': '3', # /MDd | 448 'RuntimeLibrary': '3', # /MDd |
| 513 }, { | 449 }, { |
| 514 'RuntimeLibrary': '1', # /MTd | 450 'RuntimeLibrary': '1', # /MTd |
| 515 }], | 451 }], |
| 516 ], | 452 ], |
| 517 }, | 453 }, |
| 518 'VCLinkerTool': { | 454 'VCLinkerTool': { |
| 519 'LinkIncremental': '2', | 455 'LinkIncremental': '2', |
| 520 }, | 456 }, |
| 521 }, | 457 }, |
| 522 'conditions': [ | 458 'conditions': [ |
| 523 ['v8_enable_extra_checks==1', { | |
| 524 'defines': ['ENABLE_EXTRA_CHECKS',], | |
| 525 }], | |
| 526 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', { | 459 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', { |
| 527 'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter', | 460 'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter', |
| 528 '-Wnon-virtual-dtor', '-Woverloaded-virtual', | 461 '-Wnon-virtual-dtor', '-Woverloaded-virtual', |
| 529 # Hide some GCC 4.8 warnings: | 462 # Hide some GCC 4.8 warnings: |
| 530 # TODO(jbramley): Only enable these on GCC 4.8. | 463 # TODO(jbramley): Only enable these on GCC 4.8. |
| 531 '-Wno-unused-local-typedefs', | 464 '-Wno-unused-local-typedefs', |
| 532 '-Wno-maybe-uninitialized' ], | 465 '-Wno-maybe-uninitialized' ], |
| 533 }], | 466 }], |
| 534 ['OS=="linux" and v8_enable_backtrace==1', { | 467 ['OS=="linux" and v8_enable_backtrace==1', { |
| 535 # Support for backtrace_symbols. | 468 # Support for backtrace_symbols. |
| (...skipping 14 matching lines...) Expand all Loading... |
| 550 ], | 483 ], |
| 551 }], | 484 }], |
| 552 ['OS=="mac"', { | 485 ['OS=="mac"', { |
| 553 'xcode_settings': { | 486 'xcode_settings': { |
| 554 'GCC_OPTIMIZATION_LEVEL': '0', # -O0 | 487 'GCC_OPTIMIZATION_LEVEL': '0', # -O0 |
| 555 }, | 488 }, |
| 556 }], | 489 }], |
| 557 ], | 490 ], |
| 558 }, # Debug | 491 }, # Debug |
| 559 'Release': { | 492 'Release': { |
| 560 'variables': { | |
| 561 'v8_enable_extra_checks%': 0, | |
| 562 }, | |
| 563 'conditions': [ | 493 'conditions': [ |
| 564 ['v8_enable_extra_checks==1', { | |
| 565 'defines': ['ENABLE_EXTRA_CHECKS',], | |
| 566 }], | |
| 567 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', { | 494 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', { |
| 568 'cflags!': [ | 495 'cflags!': [ |
| 569 '-O2', | 496 '-O2', |
| 570 '-Os', | 497 '-Os', |
| 571 ], | 498 ], |
| 572 'cflags': [ | 499 'cflags': [ |
| 573 '-fdata-sections', | 500 '-fdata-sections', |
| 574 '-ffunction-sections', | 501 '-ffunction-sections', |
| 575 '-O3', | 502 '-O3', |
| 576 # Hide some GCC 4.8 warnings: | 503 # Hide some GCC 4.8 warnings: |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 642 'OptimizeReferences': '2', | 569 'OptimizeReferences': '2', |
| 643 'EnableCOMDATFolding': '2', | 570 'EnableCOMDATFolding': '2', |
| 644 }, | 571 }, |
| 645 }, | 572 }, |
| 646 }], # OS=="win" | 573 }], # OS=="win" |
| 647 ], # conditions | 574 ], # conditions |
| 648 }, # Release | 575 }, # Release |
| 649 }, # configurations | 576 }, # configurations |
| 650 }, # target_defaults | 577 }, # target_defaults |
| 651 } | 578 } |
| OLD | NEW |