diff options
Diffstat (limited to 'src/3rdparty/v8/build/common.gypi')
-rw-r--r-- | src/3rdparty/v8/build/common.gypi | 104 |
1 files changed, 78 insertions, 26 deletions
diff --git a/src/3rdparty/v8/build/common.gypi b/src/3rdparty/v8/build/common.gypi index 1726d2a..9559d98 100644 --- a/src/3rdparty/v8/build/common.gypi +++ b/src/3rdparty/v8/build/common.gypi @@ -43,12 +43,13 @@ # access is allowed for all CPUs. 'v8_can_use_unaligned_accesses%': 'default', - # Setting 'v8_can_use_vfp_instructions' to 'true' will enable use of ARM VFP + # Setting 'v8_can_use_vfp2_instructions' to 'true' will enable use of ARM VFP # instructions in the V8 generated code. VFP instructions will be enabled # both for the snapshot and for the ARM target. Leaving the default value # of 'false' will avoid VFP instructions in the snapshot and use CPU feature # probing when running on the target. - 'v8_can_use_vfp_instructions%': 'false', + 'v8_can_use_vfp2_instructions%': 'false', + 'v8_can_use_vfp3_instructions%': 'false', # Similar to vfp but on MIPS. 'v8_can_use_fpu_instructions%': 'true', @@ -69,13 +70,18 @@ 'v8_enable_disassembler%': 0, - 'v8_object_print%': 0, + # Enable extra checks in API functions and other strategic places. + 'v8_enable_extra_checks%': 1, 'v8_enable_gdbjit%': 0, + 'v8_object_print%': 0, + # Enable profiling support. Only required on Windows. 'v8_enable_prof%': 0, + 'v8_enable_verify_heap%': 0, + # Some versions of GCC 4.5 seem to need -fno-strict-aliasing. 'v8_no_strict_aliasing%': 0, @@ -95,6 +101,10 @@ # For a shared library build, results in "libv8-<(soname_version).so". 'soname_version%': '', + + # Interpreted regexp engine exists as platform-independent alternative + # based where the regular expression is compiled to a bytecode. + 'v8_interpreted_regexp%': 0, }, 'target_defaults': { 'conditions': [ @@ -104,17 +114,31 @@ ['v8_enable_disassembler==1', { 'defines': ['ENABLE_DISASSEMBLER',], }], - ['v8_object_print==1', { - 'defines': ['OBJECT_PRINT',], + ['v8_enable_extra_checks==1', { + 'defines': ['ENABLE_EXTRA_CHECKS',], }], ['v8_enable_gdbjit==1', { 'defines': ['ENABLE_GDB_JIT_INTERFACE',], }], + ['v8_object_print==1', { + 'defines': ['OBJECT_PRINT',], + }], + ['v8_enable_verify_heap==1', { + 'defines': ['VERIFY_HEAP',], + }], + ['v8_interpreted_regexp==1', { + 'defines': ['V8_INTERPRETED_REGEXP',], + }], ['v8_target_arch=="arm"', { 'defines': [ 'V8_TARGET_ARCH_ARM', ], 'conditions': [ + ['armv7==1', { + 'defines': [ + 'CAN_USE_ARMV7_INSTRUCTIONS=1', + ], + }], [ 'v8_can_use_unaligned_accesses=="true"', { 'defines': [ 'CAN_USE_UNALIGNED_ACCESSES=1', @@ -125,15 +149,20 @@ 'CAN_USE_UNALIGNED_ACCESSES=0', ], }], - [ 'v8_can_use_vfp_instructions=="true"', { + [ 'v8_can_use_vfp2_instructions=="true"', { 'defines': [ - 'CAN_USE_VFP_INSTRUCTIONS', + 'CAN_USE_VFP2_INSTRUCTIONS', + ], + }], + [ 'v8_can_use_vfp3_instructions=="true"', { + 'defines': [ + 'CAN_USE_VFP3_INSTRUCTIONS', ], }], [ 'v8_use_arm_eabi_hardfloat=="true"', { 'defines': [ 'USE_EABI_HARDFLOAT=1', - 'CAN_USE_VFP_INSTRUCTIONS', + 'CAN_USE_VFP3_INSTRUCTIONS', ], 'target_conditions': [ ['_toolset=="target"', { @@ -152,12 +181,12 @@ 'V8_TARGET_ARCH_IA32', ], }], # v8_target_arch=="ia32" - ['v8_target_arch=="mips"', { + ['v8_target_arch=="mipsel"', { 'defines': [ 'V8_TARGET_ARCH_MIPS', ], 'variables': { - 'mipscompiler': '<!($(echo ${CXX:-$(which g++)}) -v 2>&1 | grep -q "^Target: mips-" && echo "yes" || echo "no")', + 'mipscompiler': '<!($(echo ${CXX:-$(which g++)}) -v 2>&1 | grep -q "^Target: mips" && echo "yes" || echo "no")', }, 'conditions': [ ['mipscompiler=="yes"', { @@ -176,10 +205,11 @@ ['mips_arch_variant=="mips32r2"', { 'cflags': ['-mips32r2', '-Wa,-mips32r2'], }], + ['mips_arch_variant=="mips32r1"', { + 'cflags': ['-mips32', '-Wa,-mips32'], + }], ['mips_arch_variant=="loongson"', { 'cflags': ['-mips3', '-Wa,-mips3'], - }, { - 'cflags': ['-mips32', '-Wa,-mips32'], }], ], }], @@ -207,7 +237,7 @@ 'defines': ['_MIPS_ARCH_LOONGSON',], }], ], - }], # v8_target_arch=="mips" + }], # v8_target_arch=="mipsel" ['v8_target_arch=="x64"', { 'defines': [ 'V8_TARGET_ARCH_X64', @@ -220,6 +250,7 @@ 'StackReserveSize': '2097152', }, }, + 'msvs_configuration_platform': 'x64', }], # v8_target_arch=="x64" ['v8_use_liveobjectlist=="true"', { 'defines': [ @@ -238,6 +269,11 @@ 'defines': [ 'WIN32', ], + 'msvs_configuration_attributes': { + 'OutputDirectory': '<(DEPTH)\\build\\$(ConfigurationName)', + 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)', + 'CharacterSet': '1', + }, }], ['OS=="win" and v8_enable_prof==1', { 'msvs_settings': { @@ -260,13 +296,13 @@ ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \ or OS=="netbsd" or OS=="mac" or OS=="android") and \ (v8_target_arch=="arm" or v8_target_arch=="ia32" or \ - v8_target_arch=="mips")', { + v8_target_arch=="mipsel")', { # Check whether the host compiler and target compiler support the # '-m32' option and set it if so. 'target_conditions': [ ['_toolset=="host"', { 'variables': { - 'm32flag': '<!((echo | $(echo ${CXX_host:-${CXX:-$(which g++)}}) -m32 -E - > /dev/null 2>&1) && echo -n "-m32" || true)', + 'm32flag': '<!((echo | $(echo ${CXX_host:-$(which g++)}) -m32 -E - > /dev/null 2>&1) && echo "-m32" || true)', }, 'cflags': [ '<(m32flag)' ], 'ldflags': [ '<(m32flag)' ], @@ -276,10 +312,15 @@ }], ['_toolset=="target"', { 'variables': { - 'm32flag': '<!((echo | $(echo ${CXX_target:-${CXX:-$(which g++)}}) -m32 -E - > /dev/null 2>&1) && echo -n "-m32" || true)', + 'm32flag': '<!((echo | $(echo ${CXX_target:-${CXX:-$(which g++)}}) -m32 -E - > /dev/null 2>&1) && echo "-m32" || true)', + 'clang%': 0, }, - 'cflags': [ '<(m32flag)' ], - 'ldflags': [ '<(m32flag)' ], + 'conditions': [ + ['OS!="android" or clang==1', { + 'cflags': [ '<(m32flag)' ], + 'ldflags': [ '<(m32flag)' ], + }], + ], 'xcode_settings': { 'ARCHS': [ 'i386' ], }, @@ -300,6 +341,7 @@ 'ENABLE_DISASSEMBLER', 'V8_ENABLE_CHECKS', 'OBJECT_PRINT', + 'VERIFY_HEAP', ], 'msvs_settings': { 'VCCLCompilerTool': { @@ -322,6 +364,20 @@ 'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter', '-Wnon-virtual-dtor', '-Woverloaded-virtual' ], }], + ['OS=="android"', { + 'variables': { + 'android_full_debug%': 1, + }, + 'conditions': [ + ['android_full_debug==0', { + # Disable full debug if we want a faster v8 in a debug build. + # TODO(2304): pass DISABLE_DEBUG_ASSERT instead of hiding DEBUG. + 'defines!': [ + 'DEBUG', + ], + }], + ], + }], ], }, # Debug 'Release': { @@ -335,7 +391,6 @@ 'cflags': [ '-fdata-sections', '-ffunction-sections', - '-fomit-frame-pointer', '-O3', ], 'conditions': [ @@ -359,26 +414,23 @@ }, }], # OS=="mac" ['OS=="win"', { - 'msvs_configuration_attributes': { - 'OutputDirectory': '<(DEPTH)\\build\\$(ConfigurationName)', - 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)', - 'CharacterSet': '1', - }, 'msvs_settings': { 'VCCLCompilerTool': { 'Optimization': '2', 'InlineFunctionExpansion': '2', 'EnableIntrinsicFunctions': 'true', 'FavorSizeOrSpeed': '0', - 'OmitFramePointers': 'true', 'StringPooling': 'true', - 'conditions': [ ['OS=="win" and component=="shared_library"', { 'RuntimeLibrary': '2', #/MD }, { 'RuntimeLibrary': '0', #/MT }], + ['v8_target_arch=="x64"', { + # TODO(2207): remove this option once the bug is fixed. + 'WholeProgramOptimization': 'true', + }], ], }, 'VCLinkerTool': { |