ENV = os.environ)
Help(opts.GenerateHelpText(env))
-# for debugging
-#print env.Dump()
-
# replicate options values in local variables
debug = env['debug']
dri = env['dri']
# derived options
x86 = machine == 'x86'
gcc = platform in ('linux', 'freebsd', 'darwin')
-msvc = platform in ('win32', 'winddk')
+msvc = platform in ('windows', 'winddk')
Export([
'debug',
# TODO: put the compiler specific settings in separate files
# TODO: auto-detect as much as possible
-
if platform == 'winddk':
env.Tool('winddk', ['.'])
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'])
+common.generate(env)
# Includes
# x86 assembly
if x86:
- env.Append(CPPDEFINES = [
- 'USE_X86_ASM',
- 'USE_MMX_ASM',
- 'USE_3DNOW_ASM',
- 'USE_SSE_ASM',
- ])
if gcc:
env.Append(CFLAGS = '-m32')
env.Append(CXXFLAGS = '-m32')
# See also http://www.scons.org/wiki/UsingPkgConfig
env.ParseConfig('llvm-config --cflags --ldflags --libs')
env.Append(CPPDEFINES = ['MESA_LLVM'])
- env.Append(CXXFLAGS = ['-Wno-long-long'])
# Force C++ linkage
env['LINK'] = env['CXX']
# libGL
-if platform not in ('winddk',):
+if platform in ('linux', 'freebsd', 'darwin'):
env.Append(LIBS = [
'X11',
'Xext',
'Xfixes',
])
-# Convenience library support
-common.createConvenienceLibBuilder(env)
+# for debugging
+#print env.Dump()
Export('env')