blob: 40374523ad56263ed2f50e7a5f0f932e1c796123 [file] [log] [blame]
Ben Murdoch3fb3ca82011-12-02 17:19:32 +00001# Copyright 2011 the V8 project authors. All rights reserved.
2# Redistribution and use in source and binary forms, with or without
3# modification, are permitted provided that the following conditions are
4# met:
5#
6# * Redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer.
8# * Redistributions in binary form must reproduce the above
9# copyright notice, this list of conditions and the following
10# disclaimer in the documentation and/or other materials provided
11# with the distribution.
12# * Neither the name of Google Inc. nor the names of its
13# contributors may be used to endorse or promote products derived
14# from this software without specific prior written permission.
15#
16# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
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.
27
28# TODO(sgjesse): This is currently copied from v8.gyp, should probably
29# be refactored.
30{
31 'variables': {
32 'use_system_v8%': 0,
33 'msvs_use_common_release': 0,
34 'gcc_version%': 'unknown',
35 'v8_compress_startup_data%': 'off',
36 'v8_target_arch%': '<(target_arch)',
37
38 # Setting 'v8_can_use_unaligned_accesses' to 'true' will allow the code
39 # generated by V8 to do unaligned memory access, and setting it to 'false'
40 # will ensure that the generated code will always do aligned memory
41 # accesses. The default value of 'default' will try to determine the correct
42 # setting. Note that for Intel architectures (ia32 and x64) unaligned memory
43 # access is allowed for all CPUs.
44 'v8_can_use_unaligned_accesses%': 'default',
45
46 # Setting 'v8_can_use_vfp_instructions' to 'true' will enable use of ARM VFP
47 # instructions in the V8 generated code. VFP instructions will be enabled
48 # both for the snapshot and for the ARM target. Leaving the default value
49 # of 'false' will avoid VFP instructions in the snapshot and use CPU feature
50 # probing when running on the target.
51 'v8_can_use_vfp_instructions%': 'false',
52
53 # Setting v8_use_arm_eabi_hardfloat to true will turn on V8 support for ARM
54 # EABI calling convention where double arguments are passed in VFP
55 # registers. Note that the GCC flag '-mfloat-abi=hard' should be used as
56 # well when compiling for the ARM target.
57 'v8_use_arm_eabi_hardfloat%': 'false',
58
59 'v8_use_snapshot%': 'true',
60 'host_os%': '<(OS)',
61 'v8_use_liveobjectlist%': 'false',
62 },
63 'target_defaults': {
64 'conditions': [
65 ['OS!="mac"', {
66 'conditions': [
67 ['v8_target_arch=="arm"', {
68 'defines': [
69 'V8_TARGET_ARCH_ARM',
70 ],
71 'conditions': [
72 [ 'v8_can_use_unaligned_accesses=="true"', {
73 'defines': [
74 'CAN_USE_UNALIGNED_ACCESSES=1',
75 ],
76 }],
77 [ 'v8_can_use_unaligned_accesses=="false"', {
78 'defines': [
79 'CAN_USE_UNALIGNED_ACCESSES=0',
80 ],
81 }],
82 [ 'v8_can_use_vfp_instructions=="true"', {
83 'defines': [
84 'CAN_USE_VFP_INSTRUCTIONS',
85 ],
86 }],
87 [ 'v8_use_arm_eabi_hardfloat=="true"', {
88 'defines': [
89 'USE_EABI_HARDFLOAT=1',
90 'CAN_USE_VFP_INSTRUCTIONS',
91 ],
92 }],
93 ],
94 }],
95 ['v8_target_arch=="ia32"', {
96 'defines': [
97 'V8_TARGET_ARCH_IA32',
98 ],
99 }],
100 ['v8_target_arch=="mips"', {
101 'defines': [
102 'V8_TARGET_ARCH_MIPS',
103 ],
104 }],
105 ['v8_target_arch=="x64"', {
106 'defines': [
107 'V8_TARGET_ARCH_X64',
108 ],
109 }],
110 ],
111 }],
112 ],
113 'configurations': {
114 'Debug': {
115 'defines': [
116 'DEBUG',
117 '_DEBUG',
118 'ENABLE_DISASSEMBLER',
119 'V8_ENABLE_CHECKS',
120 'OBJECT_PRINT',
121 ],
122 }
123 }
124 }
125}