|
|
|
# Copyright 2011 the V8 project authors. All rights reserved.
|
|
|
|
# Redistribution and use in source and binary forms, with or without
|
|
|
|
# modification, are permitted provided that the following conditions are
|
|
|
|
# met:
|
|
|
|
#
|
|
|
|
# * Redistributions of source code must retain the above copyright
|
|
|
|
# notice, this list of conditions and the following disclaimer.
|
|
|
|
# * Redistributions in binary form must reproduce the above
|
|
|
|
# copyright notice, this list of conditions and the following
|
|
|
|
# disclaimer in the documentation and/or other materials provided
|
|
|
|
# with the distribution.
|
|
|
|
# * Neither the name of Google Inc. nor the names of its
|
|
|
|
# contributors may be used to endorse or promote products derived
|
|
|
|
# from this software without specific prior written permission.
|
|
|
|
#
|
|
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
|
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
|
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
|
|
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
|
|
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
|
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
|
|
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
|
|
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
|
|
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
|
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
|
|
|
|
# TODO(sgjesse): This is currently copied from v8.gyp, should probably
|
|
|
|
# be refactored.
|
|
|
|
{
|
|
|
|
'variables': {
|
|
|
|
'use_system_v8%': 0,
|
|
|
|
'msvs_use_common_release': 0,
|
|
|
|
'gcc_version%': 'unknown',
|
|
|
|
'v8_compress_startup_data%': 'off',
|
|
|
|
'v8_target_arch%': '<(target_arch)',
|
|
|
|
|
|
|
|
# Setting 'v8_can_use_unaligned_accesses' to 'true' will allow the code
|
|
|
|
# generated by V8 to do unaligned memory access, and setting it to 'false'
|
|
|
|
# will ensure that the generated code will always do aligned memory
|
|
|
|
# accesses. The default value of 'default' will try to determine the correct
|
|
|
|
# setting. Note that for Intel architectures (ia32 and x64) unaligned memory
|
|
|
|
# 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
|
|
|
|
# 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',
|
|
|
|
|
|
|
|
# Setting v8_use_arm_eabi_hardfloat to true will turn on V8 support for ARM
|
|
|
|
# EABI calling convention where double arguments are passed in VFP
|
|
|
|
# registers. Note that the GCC flag '-mfloat-abi=hard' should be used as
|
|
|
|
# well when compiling for the ARM target.
|
|
|
|
'v8_use_arm_eabi_hardfloat%': 'false',
|
|
|
|
|
|
|
|
'v8_use_snapshot%': 'true',
|
|
|
|
'host_os%': '<(OS)',
|
|
|
|
'v8_use_liveobjectlist%': 'false',
|
|
|
|
},
|
|
|
|
'target_defaults': {
|
|
|
|
'conditions': [
|
|
|
|
['OS!="mac"', {
|
|
|
|
'conditions': [
|
|
|
|
['v8_target_arch=="arm"', {
|
|
|
|
'defines': [
|
|
|
|
'V8_TARGET_ARCH_ARM',
|
|
|
|
],
|
|
|
|
'conditions': [
|
|
|
|
[ 'v8_can_use_unaligned_accesses=="true"', {
|
|
|
|
'defines': [
|
|
|
|
'CAN_USE_UNALIGNED_ACCESSES=1',
|
|
|
|
],
|
|
|
|
}],
|
|
|
|
[ 'v8_can_use_unaligned_accesses=="false"', {
|
|
|
|
'defines': [
|
|
|
|
'CAN_USE_UNALIGNED_ACCESSES=0',
|
|
|
|
],
|
|
|
|
}],
|
|
|
|
[ 'v8_can_use_vfp_instructions=="true"', {
|
|
|
|
'defines': [
|
|
|
|
'CAN_USE_VFP_INSTRUCTIONS',
|
|
|
|
],
|
|
|
|
}],
|
|
|
|
[ 'v8_use_arm_eabi_hardfloat=="true"', {
|
|
|
|
'defines': [
|
|
|
|
'USE_EABI_HARDFLOAT=1',
|
|
|
|
'CAN_USE_VFP_INSTRUCTIONS',
|
|
|
|
],
|
|
|
|
'cflags': [
|
|
|
|
'-mfloat-abi=hard',
|
|
|
|
],
|
|
|
|
}, {
|
|
|
|
'defines': [
|
|
|
|
'USE_EABI_HARDFLOAT=0',
|
|
|
|
],
|
|
|
|
}],
|
|
|
|
],
|
|
|
|
}],
|
|
|
|
['v8_target_arch=="ia32"', {
|
|
|
|
'defines': [
|
|
|
|
'V8_TARGET_ARCH_IA32',
|
|
|
|
],
|
|
|
|
}],
|
|
|
|
['v8_target_arch=="mips"', {
|
|
|
|
'defines': [
|
|
|
|
'V8_TARGET_ARCH_MIPS',
|
|
|
|
],
|
|
|
|
}],
|
|
|
|
['v8_target_arch=="x64"', {
|
|
|
|
'defines': [
|
|
|
|
'V8_TARGET_ARCH_X64',
|
|
|
|
],
|
|
|
|
}],
|
|
|
|
],
|
|
|
|
}],
|
|
|
|
],
|
|
|
|
'configurations': {
|
|
|
|
'Debug': {
|
|
|
|
'defines': [
|
|
|
|
'DEBUG',
|
|
|
|
'_DEBUG',
|
|
|
|
'ENABLE_DISASSEMBLER',
|
|
|
|
'V8_ENABLE_CHECKS',
|
|
|
|
'OBJECT_PRINT',
|
|
|
|
],
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|