scons: New build= option, with support for checked builds.
Where checked build is compiler optimizations plus debugging checks -- ideal for testing CPU bound loads and running test automation loads.
This commit is contained in:
@@ -130,7 +130,6 @@ def generate(env):
|
||||
env['msvc'] = env['CC'] == 'cl'
|
||||
|
||||
# shortcuts
|
||||
debug = env['debug']
|
||||
machine = env['machine']
|
||||
platform = env['platform']
|
||||
x86 = env['machine'] == 'x86'
|
||||
@@ -412,7 +411,7 @@ def generate(env):
|
||||
if env['platform'] == 'windows' and msvc:
|
||||
# Choose the appropriate MSVC CRT
|
||||
# http://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx
|
||||
if env['debug']:
|
||||
if env['build'] in ('debug', 'checked'):
|
||||
env.Append(CCFLAGS = ['/MTd'])
|
||||
env.Append(SHCCFLAGS = ['/LDd'])
|
||||
else:
|
||||
@@ -444,7 +443,7 @@ def generate(env):
|
||||
else:
|
||||
env['_LIBFLAGS'] = '-Wl,--start-group ' + env['_LIBFLAGS'] + ' -Wl,--end-group'
|
||||
if msvc:
|
||||
if not env['debug']:
|
||||
if env['build'] != 'debug':
|
||||
# enable Link-time Code Generation
|
||||
linkflags += ['/LTCG']
|
||||
env.Append(ARFLAGS = ['/LTCG'])
|
||||
|
@@ -124,7 +124,7 @@ def generate(env):
|
||||
# Some of the LLVM C headers use the inline keyword without
|
||||
# defining it.
|
||||
env.Append(CPPDEFINES = [('inline', '__inline')])
|
||||
if env['debug']:
|
||||
if env['build'] in ('debug', 'checked'):
|
||||
# LLVM libraries are static, build with /MT, and they
|
||||
# automatically link agains LIBCMT. When we're doing a
|
||||
# debug build we'll be linking against LIBCMTD, so disable
|
||||
|
@@ -122,7 +122,7 @@ def get_wce600_paths(env):
|
||||
host_cpu = os.environ.get('_HOSTCPUTYPE', 'i386')
|
||||
target_cpu = os.environ.get('_TGTCPU', 'x86')
|
||||
|
||||
if env['debug']:
|
||||
if env['build'] == 'debug':
|
||||
build = 'debug'
|
||||
else:
|
||||
build = 'retail'
|
||||
|
Reference in New Issue
Block a user