Commit dba8b2f9 authored by sgjesse@chromium.org's avatar sgjesse@chromium.org

Added 64-bit Windows build through SCons.

The SCons build now supports building for 64-bit Windows. This still requires that the SCons build is passed an env parameter containing the PATH and LIB for the 64-bit build as SCons autodetects the 32-bit environment.

Lowered the warning level for the 64-bit build temporarily.

Added a verbose option to SCons to display the startup banner for the Microsoft Visual C++ tools.
Review URL: http://codereview.chromium.org/174605

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 069e734d
...@@ -181,17 +181,25 @@ LIBRARY_FLAGS = { ...@@ -181,17 +181,25 @@ LIBRARY_FLAGS = {
}, },
'msvc': { 'msvc': {
'all': { 'all': {
'DIALECTFLAGS': ['/nologo'],
'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'], 'CCFLAGS': ['$DIALECTFLAGS', '$WARNINGFLAGS'],
'CXXFLAGS': ['$CCFLAGS', '/GR-', '/Gy'], 'CXXFLAGS': ['$CCFLAGS', '/GR-', '/Gy'],
'CPPDEFINES': ['WIN32', '_USE_32BIT_TIME_T'], 'CPPDEFINES': ['WIN32'],
'LINKFLAGS': ['/NOLOGO', '/MACHINE:X86', '/INCREMENTAL:NO', 'LINKFLAGS': ['/INCREMENTAL:NO', '/NXCOMPAT', '/IGNORE:4221'],
'/NXCOMPAT', '/IGNORE:4221'],
'ARFLAGS': ['/NOLOGO'],
'CCPDBFLAGS': ['/Zi'] 'CCPDBFLAGS': ['/Zi']
}, },
'verbose:off': {
'DIALECTFLAGS': ['/nologo'],
'ARFLAGS': ['/NOLOGO']
},
'arch:ia32': { 'arch:ia32': {
'CPPDEFINES': ['V8_TARGET_ARCH_IA32'] 'CPPDEFINES': ['V8_TARGET_ARCH_IA32', '_USE_32BIT_TIME_T'],
'LINKFLAGS': ['/MACHINE:X86'],
'ARFLAGS': ['/MACHINE:X86']
},
'arch:x64': {
'CPPDEFINES': ['V8_TARGET_ARCH_X64'],
'LINKFLAGS': ['/MACHINE:X64'],
'ARFLAGS': ['/MACHINE:X64']
}, },
'mode:debug': { 'mode:debug': {
'CCFLAGS': ['/Od', '/Gm'], 'CCFLAGS': ['/Od', '/Gm'],
...@@ -253,11 +261,13 @@ V8_EXTRA_FLAGS = { ...@@ -253,11 +261,13 @@ V8_EXTRA_FLAGS = {
}, },
'msvc': { 'msvc': {
'all': { 'all': {
'WARNINGFLAGS': ['/W3', '/WX', '/wd4355', '/wd4800'] 'WARNINGFLAGS': ['/WX', '/wd4355', '/wd4800']
}, },
'library:shared': { 'arch:ia32': {
'CPPDEFINES': ['BUILDING_V8_SHARED'], 'WARNINGFLAGS': ['/W3']
'LIBS': ['winmm', 'ws2_32'] },
'arch:x64': {
'WARNINGFLAGS': ['/W2']
}, },
'arch:arm': { 'arch:arm': {
'CPPDEFINES': ['V8_TARGET_ARCH_ARM'], 'CPPDEFINES': ['V8_TARGET_ARCH_ARM'],
...@@ -355,7 +365,10 @@ CCTEST_EXTRA_FLAGS = { ...@@ -355,7 +365,10 @@ CCTEST_EXTRA_FLAGS = {
}, },
'arch:ia32': { 'arch:ia32': {
'CPPDEFINES': ['V8_TARGET_ARCH_IA32'] 'CPPDEFINES': ['V8_TARGET_ARCH_IA32']
} },
'arch:x64': {
'CPPDEFINES': ['V8_TARGET_ARCH_X64']
},
} }
} }
...@@ -420,10 +433,15 @@ SAMPLE_FLAGS = { ...@@ -420,10 +433,15 @@ SAMPLE_FLAGS = {
}, },
'msvc': { 'msvc': {
'all': { 'all': {
'CCFLAGS': ['/nologo'],
'LINKFLAGS': ['/nologo'],
'LIBS': ['winmm', 'ws2_32'] 'LIBS': ['winmm', 'ws2_32']
}, },
'verbose:off': {
'CCFLAGS': ['/nologo'],
'LINKFLAGS': ['/NOLOGO']
},
'verbose:on': {
'LINKFLAGS': ['/VERBOSE']
},
'library:shared': { 'library:shared': {
'CPPDEFINES': ['USING_V8_SHARED'] 'CPPDEFINES': ['USING_V8_SHARED']
}, },
...@@ -445,7 +463,12 @@ SAMPLE_FLAGS = { ...@@ -445,7 +463,12 @@ SAMPLE_FLAGS = {
} }
}, },
'arch:ia32': { 'arch:ia32': {
'CPPDEFINES': ['V8_TARGET_ARCH_IA32'] 'CPPDEFINES': ['V8_TARGET_ARCH_IA32'],
'LINKFLAGS': ['/MACHINE:X86']
},
'arch:x64': {
'CPPDEFINES': ['V8_TARGET_ARCH_X64'],
'LINKFLAGS': ['/MACHINE:X64']
}, },
'mode:debug': { 'mode:debug': {
'CCFLAGS': ['/Od'], 'CCFLAGS': ['/Od'],
...@@ -588,6 +611,11 @@ SIMPLE_OPTIONS = { ...@@ -588,6 +611,11 @@ SIMPLE_OPTIONS = {
'values': ['dumb', 'readline'], 'values': ['dumb', 'readline'],
'default': 'dumb', 'default': 'dumb',
'help': 'the console to use for the d8 shell' 'help': 'the console to use for the d8 shell'
},
'verbose': {
'values': ['on', 'off'],
'default': 'off',
'help': 'more output from compiler and linker'
} }
} }
......
...@@ -336,8 +336,10 @@ static void CFuncDoTrace() { ...@@ -336,8 +336,10 @@ static void CFuncDoTrace() {
#elif defined _MSC_VER && defined V8_TARGET_ARCH_IA32 #elif defined _MSC_VER && defined V8_TARGET_ARCH_IA32
__asm mov [fp], ebp // NOLINT __asm mov [fp], ebp // NOLINT
#elif defined _MSC_VER && defined V8_TARGET_ARCH_X64 #elif defined _MSC_VER && defined V8_TARGET_ARCH_X64
// FIXME: I haven't really tried to compile it. // TODO(X64): __asm extension is not supported by the Microsoft Visual C++
__asm movq [fp], rbp // NOLINT // 64-bit compiler.
fp = 0;
UNIMPLEMENTED();
#endif #endif
DoTrace(fp); DoTrace(fp);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment