Mesa (master): scons: add 'targets' variable, for specifying ... targets
Keith Whitwell
keithw at kemper.freedesktop.org
Wed May 19 13:04:33 UTC 2010
Module: Mesa
Branch: master
Commit: 39087f636afcee058fc9af2c58cb1e2474c9b258
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=39087f636afcee058fc9af2c58cb1e2474c9b258
Author: Keith Whitwell <keithw at vmware.com>
Date: Fri May 14 10:55:07 2010 +0100
scons: add 'targets' variable, for specifying ... targets
Ideally scons should be able to work backwards from the list of
targets to figure out which drivers, state trackers and other
convenience libraries need to be built.
---
SConstruct | 23 +++++++++++++++++++++++
src/gallium/targets/SConscript | 20 ++++++++++++++------
2 files changed, 37 insertions(+), 6 deletions(-)
diff --git a/SConstruct b/SConstruct
index 28ed6ea..c843b41 100644
--- a/SConstruct
+++ b/SConstruct
@@ -31,6 +31,7 @@ import common
# Configuration options
default_statetrackers = 'mesa'
+default_targets = 'none'
if common.default_platform in ('linux', 'freebsd', 'darwin'):
default_drivers = 'softpipe,failover,svga,i915,i965,trace,identity,llvmpipe'
@@ -54,6 +55,28 @@ opts.Add(ListVariable('drivers', 'pipe drivers to build', default_drivers,
opts.Add(ListVariable('winsys', 'winsys drivers to build', default_winsys,
['xlib', 'vmware', 'i915', 'i965', 'gdi', 'radeon', 'graw-xlib']))
+opts.Add(ListVariable('targets', 'driver targets to build', default_targets,
+ ['dri-i915',
+ 'dri-i965',
+ 'dri-nouveau',
+ 'dri-radeong',
+ 'dri-swrast',
+ 'dri-vmwgfx',
+ 'egl-i915',
+ 'egl-i965',
+ 'egl-nouveau',
+ 'egl-radeon',
+ 'egl-swrast',
+ 'egl-vmwgfx',
+ 'graw-xlib',
+ 'libgl-gdi',
+ 'libgl-xlib',
+ 'xorg-i915',
+ 'xorg-i965',
+ 'xorg-nouveau',
+ 'xorg-radeon',
+ 'xorg-vmwgfx']))
+
opts.Add(EnumVariable('MSVS_VERSION', 'MS Visual C++ version', None, allowed_values=('7.1', '8.0', '9.0')))
env = Environment(
diff --git a/src/gallium/targets/SConscript b/src/gallium/targets/SConscript
index ca3e1ec..9077cbf 100644
--- a/src/gallium/targets/SConscript
+++ b/src/gallium/targets/SConscript
@@ -1,5 +1,8 @@
+import os
Import('*')
+# Compatibility with old build scripts:
+#
if 'xlib' in env['winsys']:
SConscript([
'libgl-xlib/SConscript',
@@ -10,12 +13,7 @@ if 'gdi' in env['winsys']:
'libgl-gdi/SConscript',
])
-if env['platform'] == 'linux' and 'xlib' in env['winsys'] and 'graw-xlib' in env['winsys']:
- SConscript([
- 'graw-xlib/SConscript',
- ])
-else:
- if not env['msvc']:
+if not 'graw-xlib' in env['targets'] and not env['msvc']:
# XXX: disable until MSVC can link correctly
SConscript('graw-null/SConscript')
@@ -30,3 +28,13 @@ if 'xorg' in env['statetrackers']:
SConscript([
'xorg-vmwgfx/SConscript',
])
+
+# Ideally all non-target directories would produce convenience
+# libraries, and the actual shared libraries and other installables
+# would be finally assembled in the targets subtree:
+#
+for target in env['targets']:
+ SConscript(os.path.join(target, 'SConscript'))
+
+
+
More information about the mesa-commit
mailing list