#######################################################################
# SConscript for swrast convenience library
#
# This is a meta-driver which consists of any and all of the software
# rasterizers into a single driver.  A software rasterizer is defined
# as any driver which takes an sw_winsys pointer as the only argument
# to create_screen.

Import('*')

env = env.Clone()

# To avoid targets having to check extensively or add drivers on a whim, append
# all referenced extra drivers to the exported symbol.
extra = []
if True:
    env.Append(CPPDEFINES = 'GALLIUM_SOFTPIPE')
    env.Prepend(LIBS = [softpipe])
    extra.append(softpipe)

if env['llvm']:
    env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE')
    env.Tool('udis86')
    env.Prepend(LIBS = [llvmpipe])
    extra.append(llvmpipe)

if 'cell' in env['drivers']:
    env.Append(CPPDEFINES = 'GALLIUM_CELL')
    env.Prepend(LIBS = [cell])
    extra.append(cell)

sw = env.ConvenienceLibrary(
	target = 'sw',
	source = [
		'sw.c',
		]
    ) + extra
Export('sw')