Index: tools/gyp/v8.gyp |
diff --git a/tools/gyp/v8.gyp b/tools/gyp/v8.gyp |
index 2a8aa429bbd0385d3d5a94290d77bb07feaca9ed..4817cf1e25ebdb605d3115df3d024574917d4871 100644 |
--- a/tools/gyp/v8.gyp |
+++ b/tools/gyp/v8.gyp |
@@ -55,6 +55,7 @@ |
'v8_use_arm_eabi_hardfloat%': 'false', |
'v8_use_snapshot%': 'true', |
+ 'host_os%': '<(OS)', |
'v8_use_liveobjectlist%': 'false', |
}, |
'conditions': [ |
@@ -327,7 +328,47 @@ |
'outputs': [ |
'<(INTERMEDIATE_DIR)/snapshot.cc', |
], |
- 'action': ['<@(_inputs)', '<@(_outputs)'], |
+ 'variables': { |
+ 'mksnapshot_flags': [], |
+ }, |
+ 'conditions': [ |
+ ['v8_target_arch=="arm"', { |
+ # The following rules should be consistent with chromium's |
+ # common.gypi and V8's runtime rule to ensure they all generate |
+ # the same correct machine code. The following issue is about |
+ # V8's runtime rule about vfpv3 and neon: |
+ # http://code.google.com/p/v8/issues/detail?id=914 |
+ 'conditions': [ |
+ ['armv7==1', { |
+ # The ARM Architecture Manual mandates VFPv3 if NEON is |
+ # available. |
+ # The current V8 doesn't use d16-d31, so for vfpv3-d16, we can |
+ # also enable vfp3 for the better performance. |
+ 'conditions': [ |
+ ['arm_neon!=1 and arm_fpu!="vfpv3" and arm_fpu!="vfpv3-d16"', { |
+ 'variables': { |
+ 'mksnapshot_flags': [ |
+ '--noenable_vfp3', |
+ ], |
+ }, |
+ }], |
+ ], |
+ },{ # else: armv7!=1 |
+ 'variables': { |
+ 'mksnapshot_flags': [ |
+ '--noenable_armv7', |
+ '--noenable_vfp3', |
+ ], |
+ }, |
+ }], |
+ ], |
+ }], |
+ ], |
+ 'action': [ |
+ '<@(_inputs)', |
+ '<@(mksnapshot_flags)', |
+ '<@(_outputs)' |
+ ], |
}, |
], |
}, |
@@ -748,6 +789,30 @@ |
], |
} |
], |
+ ['OS=="android"', { |
+ 'sources': [ |
+ '../../src/platform-posix.cc', |
+ ], |
+ 'conditions': [ |
+ ['host_os=="mac" and _toolset!="target"', { |
+ 'sources': [ |
+ '../../src/platform-macos.cc' |
+ ] |
+ }, { |
+ 'sources': [ |
+ '../../src/platform-linux.cc' |
+ ] |
+ }], |
+ ['_toolset=="target"', { |
+ 'link_settings': { |
+ 'libraries': [ |
+ '-llog', |
+ ], |
+ } |
+ }], |
+ ], |
+ }, |
+ ], |
['OS=="freebsd"', { |
'link_settings': { |
'libraries': [ |