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.
This commit is contained in:
parent
fc4d1b9ba9
commit
39087f636a
23
SConstruct
23
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(
|
||||
|
|
|
@ -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'))
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue