Add an option to the SCons build to control Microsoft Visual C++ link-time code generation.

Turning off Microsoft Visual C++ link-time code generation makes linking on Windows significantly which is convenient during development. There has also been a request from embedders for a way to control this for embedding application which does not use link-time code generation.

The name of the option is msvcltcg and the default value is 'on' to keep the same behaviour as before.
Review URL: http://codereview.chromium.org/69026

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
sgjesse@chromium.org 2009-04-18 00:03:15 +00:00
parent 8775634598
commit 97b2372c39

View File

@ -160,14 +160,18 @@ LIBRARY_FLAGS = {
} }
}, },
'mode:release': { 'mode:release': {
'CCFLAGS': ['/O2', '/GL'], 'CCFLAGS': ['/O2'],
'LINKFLAGS': ['/OPT:REF', '/OPT:ICF', '/LTCG'], 'LINKFLAGS': ['/OPT:REF', '/OPT:ICF'],
'ARFLAGS': ['/LTCG'],
'msvcrt:static': { 'msvcrt:static': {
'CCFLAGS': ['/MT'] 'CCFLAGS': ['/MT']
}, },
'msvcrt:shared': { 'msvcrt:shared': {
'CCFLAGS': ['/MD'] 'CCFLAGS': ['/MD']
},
'msvcltcg:on': {
'CCFLAGS': ['/GL'],
'LINKFLAGS': ['/LTCG'],
'ARFLAGS': ['/LTCG'],
} }
}, },
} }
@ -360,12 +364,16 @@ SAMPLE_FLAGS = {
}, },
'mode:release': { 'mode:release': {
'CCFLAGS': ['/O2'], 'CCFLAGS': ['/O2'],
'LINKFLAGS': ['/OPT:REF', '/OPT:ICF', '/LTCG'], 'LINKFLAGS': ['/OPT:REF', '/OPT:ICF'],
'msvcrt:static': { 'msvcrt:static': {
'CCFLAGS': ['/MT'] 'CCFLAGS': ['/MT']
}, },
'msvcrt:shared': { 'msvcrt:shared': {
'CCFLAGS': ['/MD'] 'CCFLAGS': ['/MD']
},
'msvcltcg:on': {
'CCFLAGS': ['/GL'],
'LINKFLAGS': ['/LTCG'],
} }
}, },
'mode:debug': { 'mode:debug': {
@ -474,7 +482,12 @@ SIMPLE_OPTIONS = {
'msvcrt': { 'msvcrt': {
'values': ['static', 'shared'], 'values': ['static', 'shared'],
'default': 'static', 'default': 'static',
'help': 'the type of MSVCRT library to use' 'help': 'the type of Microsoft Visual C++ runtime library to use'
},
'msvcltcg': {
'values': ['on', 'off'],
'default': 'on',
'help': 'use Microsoft Visual C++ link-time code generation'
}, },
'wordsize': { 'wordsize': {
'values': ['64', '32'], 'values': ['64', '32'],