Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(128)

Unified Diff: SConstruct

Issue 6905098: ARM: Support hardfloat in SCons build and make it a build time setting (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Added CAN_USE_VFP_INSTRUCTIONS when hardfloat is used Created 9 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/arm/code-stubs-arm.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: SConstruct
diff --git a/SConstruct b/SConstruct
index 82b83ceafa0c0dfd87dff352b5cda7ea63151dbc..e7a16ad1a6950d7eec6ad07646702f3175e956c1 100644
--- a/SConstruct
+++ b/SConstruct
@@ -154,6 +154,18 @@ LIBRARY_FLAGS = {
},
'unalignedaccesses:off' : {
'CPPDEFINES' : ['CAN_USE_UNALIGNED_ACCESSES=0']
+ },
+ 'armeabi:softfloat' : {
+ 'CPPDEFINES' : ['USE_EABI_HARDFLOAT=0'],
+ 'simulator:none': {
+ 'CCFLAGS': ['-mfloat-abi=softfp'],
+ }
+ },
+ 'armeabi:hardfloat' : {
+ 'CPPDEFINES' : ['USE_EABI_HARDFLOAT=1', 'CAN_USE_VFP_INSTRUCTIONS'],
+ 'simulator:none': {
+ 'CCFLAGS': ['-mfloat-abi=hard'],
+ }
}
},
'simulator:arm': {
@@ -286,6 +298,11 @@ V8_EXTRA_FLAGS = {
'os:macos': {
'WARNINGFLAGS': ['-pedantic']
},
+ 'arch:arm': {
+ # This is to silence warnings about ABI changes that some versions of the
+ # CodeSourcery G++ tool chain produce for each occurrence of varargs.
+ 'WARNINGFLAGS': ['-Wno-abi']
+ },
'disassembler:on': {
'CPPDEFINES': ['ENABLE_DISASSEMBLER']
}
@@ -369,7 +386,10 @@ CCTEST_EXTRA_FLAGS = {
},
'gcc': {
'all': {
- 'LIBPATH': [abspath('.')]
+ 'LIBPATH': [abspath('.')],
+ 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],
+ 'CXXFLAGS': ['$CCFLAGS', '-fno-rtti', '-fno-exceptions'],
+ 'LINKFLAGS': ['$CCFLAGS'],
},
'os:linux': {
'LIBS': ['pthread'],
@@ -419,8 +439,10 @@ SAMPLE_FLAGS = {
},
'gcc': {
'all': {
- 'LIBPATH': ['.'],
- 'CCFLAGS': ['-fno-rtti', '-fno-exceptions']
+ 'LIBPATH': ['.'],
+ 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],
+ 'CXXFLAGS': ['$CCFLAGS', '-fno-rtti', '-fno-exceptions'],
+ 'LINKFLAGS': ['$CCFLAGS'],
},
'os:linux': {
'LIBS': ['pthread'],
@@ -445,7 +467,19 @@ SAMPLE_FLAGS = {
'LIBS': ['winmm', 'ws2_32']
},
'arch:arm': {
- 'LINKFLAGS': ARM_LINK_FLAGS
+ 'LINKFLAGS': ARM_LINK_FLAGS,
+ 'armeabi:softfloat' : {
+ 'CPPDEFINES' : ['USE_EABI_HARDFLOAT=0'],
+ 'simulator:none': {
+ 'CCFLAGS': ['-mfloat-abi=softfp'],
+ }
+ },
+ 'armeabi:hardfloat' : {
+ 'CPPDEFINES' : ['USE_EABI_HARDFLOAT=1', 'CAN_USE_VFP_INSTRUCTIONS'],
+ 'simulator:none': {
+ 'CCFLAGS': ['-mfloat-abi=hard'],
+ }
+ }
},
'arch:ia32': {
'CCFLAGS': ['-m32'],
@@ -547,14 +581,26 @@ PREPARSER_FLAGS = {
},
'gcc': {
'all': {
- 'LIBPATH': ['.'],
- 'CCFLAGS': ['-fno-rtti', '-fno-exceptions']
+ 'LIBPATH': ['.'],
+ 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],
+ 'CXXFLAGS': ['$CCFLAGS', '-fno-rtti', '-fno-exceptions'],
+ 'LINKFLAGS': ['$CCFLAGS'],
},
'os:win32': {
'LIBS': ['winmm', 'ws2_32']
},
'arch:arm': {
- 'LINKFLAGS': ARM_LINK_FLAGS
+ 'LINKFLAGS': ARM_LINK_FLAGS,
+ 'armeabi:softfloat' : {
+ 'simulator:none': {
+ 'CCFLAGS': ['-mfloat-abi=softfp'],
+ }
+ },
+ 'armeabi:hardfloat' : {
+ 'simulator:none': {
+ 'CCFLAGS': ['-mfloat-abi=hard'],
+ }
+ }
},
'arch:ia32': {
'CCFLAGS': ['-m32'],
@@ -674,6 +720,11 @@ PREPARSER_FLAGS = {
D8_FLAGS = {
'gcc': {
+ 'all': {
+ 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],
+ 'CXXFLAGS': ['$CCFLAGS', '-fno-rtti', '-fno-exceptions'],
+ 'LINKFLAGS': ['$CCFLAGS'],
+ },
'console:readline': {
'LIBS': ['readline']
},
@@ -910,6 +961,11 @@ SIMPLE_OPTIONS = {
'default': 'off',
'help': 'select profile guided optimization variant',
},
+ 'armeabi': {
+ 'values': ['hardfloat', 'softfloat'],
+ 'default': 'softfloat',
+ 'help': 'generate calling conventiont according to selected ARM EABI variant'
+ },
'mipsabi': {
'values': ['hardfloat', 'softfloat', 'none'],
'default': 'hardfloat',
« no previous file with comments | « no previous file | src/arm/code-stubs-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698