-import os
+Import('env')
-Import('*')
+#
+# Auxiliary modules
+#
SConscript('auxiliary/SConscript')
+SConscript('auxiliary/pipe-loader/SConscript')
-for driver in env['drivers']:
- SConscript(os.path.join('drivers', driver, 'SConscript'))
+#
+# Drivers
+#
-# Needed by some state trackers
-SConscript('winsys/sw/null/SConscript')
+# These are common and work across all platforms
+SConscript([
+ 'drivers/llvmpipe/SConscript',
+ 'drivers/softpipe/SConscript',
+ 'drivers/svga/SConscript',
+ 'drivers/swr/SConscript',
+])
-SConscript('state_trackers/python/SConscript')
-if platform != 'embedded':
- SConscript('state_trackers/glx/xlib/SConscript')
- SConscript('state_trackers/dri/SConscript')
- SConscript('state_trackers/xorg/SConscript')
+#
+# Winsys
+#
-if platform == 'windows':
- SConscript('state_trackers/wgl/SConscript')
+SConscript([
+ 'winsys/sw/null/SConscript',
+ 'winsys/sw/wrapper/SConscript',
+])
-SConscript('winsys/SConscript')
+if env['x11']:
+ SConscript([
+ 'winsys/sw/xlib/SConscript',
+ ])
-SConscript('targets/SConscript')
+if env['platform'] == 'windows':
+ SConscript([
+ 'winsys/sw/gdi/SConscript',
+ ])
+
+if env['platform'] == 'haiku':
+ SConscript([
+ 'winsys/sw/hgl/SConscript',
+ ])
+
+if env['dri']:
+ SConscript([
+ 'winsys/sw/dri/SConscript',
+ 'winsys/svga/drm/SConscript',
+ ])
+
+
+#
+# State trackers and targets
+#
+
+SConscript([
+ 'targets/graw-null/SConscript',
+])
+
+if not env['embedded']:
+ SConscript([
+ 'state_trackers/osmesa/SConscript',
+ 'targets/osmesa/SConscript',
+ ])
+
+ if env['x11']:
+ SConscript([
+ 'state_trackers/glx/xlib/SConscript',
+ 'targets/graw-xlib/SConscript',
+ 'targets/libgl-xlib/SConscript',
+ ])
+
+ if env['platform'] == 'windows':
+ SConscript([
+ 'state_trackers/wgl/SConscript',
+ 'targets/graw-gdi/SConscript',
+ 'targets/libgl-gdi/SConscript',
+ ])
+
+ if env['platform'] == 'haiku':
+ SConscript([
+ 'state_trackers/hgl/SConscript',
+ 'targets/haiku-softpipe/SConscript',
+ ])
+
+ if env['dri']:
+ SConscript([
+ 'state_trackers/dri/SConscript',
+ 'targets/dri/SConscript',
+ ])
+
+
+#
+# Unit tests & tools
+#
+
+if not env['embedded']:
+ SConscript('tests/unit/SConscript')
+ SConscript('tests/graw/SConscript')