# Top-level SConstruct
import os
+import os.path
import sys
# for debugging
#print env.Dump()
-if 1:
+if 0:
# platform will be typically 'posix' or 'win32'
platform = env['PLATFORM']
else:
# derived options
x86 = machine == 'x86'
-gcc = platform == 'posix'
+gcc = platform in ('posix', 'linux', 'freebsd', 'darwin')
msvc = platform == 'win32'
Export([
#######################################################################
# Invoke SConscripts
-# Put build output in a separate dir
-# TODO: make build_dir depend on platform and build type (check
-# http://www.scons.org/wiki/AdvancedBuildExample for an example)
-build_dir = 'build'
+# Put build output in a separate dir, which depends on the current configuration
+# See also http://www.scons.org/wiki/AdvancedBuildExample
+build_topdir = 'build'
+build_subdir = platform
+if dri:
+ build_subdir += "-dri"
+if x86:
+ build_subdir += "-x86"
+if debug:
+ build_subdir += "-debug"
+build_dir = os.path.join(build_topdir, build_subdir)
+
+# TODO: Build several variants at the same time?
+# http://www.scons.org/wiki/SimultaneousVariantBuilds
SConscript(
'src/mesa/SConscript',