-#
-# TODO: put the compiler specific settings in separate files
-# TODO: auto-detect as much as possible
-
-
-if platform == 'winddk':
- env.Tool('winddk', ['.'])
-
- env.Append(CPPPATH = [
- env['SDK_INC_PATH'],
- env['DDK_INC_PATH'],
- env['WDM_INC_PATH'],
- env['CRT_INC_PATH'],
- ])
-
-# Optimization flags
-if gcc:
- if debug:
- env.Append(CFLAGS = '-O0 -g3')
- env.Append(CXXFLAGS = '-O0 -g3')
- else:
- env.Append(CFLAGS = '-O3 -g3')
- env.Append(CXXFLAGS = '-O3 -g3')
-
- env.Append(CFLAGS = '-Wall -Wmissing-prototypes -Wno-long-long -ffast-math -pedantic')
- env.Append(CXXFLAGS = '-Wall -pedantic')
-
- # Be nice to Eclipse
- env.Append(CFLAGS = '-fmessage-length=0')
- env.Append(CXXFLAGS = '-fmessage-length=0')
-
-if msvc:
- env.Append(CFLAGS = '/W3')
- if debug:
- cflags = [
- '/Od', # disable optimizations
- '/Oy-', # disable frame pointer omission
- ]
- else:
- cflags = [
- '/Ox', # maximum optimizations
- '/Os', # favor code space
- ]
- env.Append(CFLAGS = cflags)
- env.Append(CXXFLAGS = cflags)
- # Put debugging information in a separate .pdb file for each object file as
- # descrived in the scons manpage
- env['CCPDBFLAGS'] = '/Zi /Fd${TARGET}.pdb'
-
-# Defines
-if debug:
- if gcc:
- env.Append(CPPDEFINES = ['DEBUG'])
- if msvc:
- env.Append(CPPDEFINES = [
- ('DBG', '1'),
- ('DEBUG', '1'),
- ('_DEBUG', '1'),
- ])
-else:
- env.Append(CPPDEFINES = ['NDEBUG'])
-