diff options
Diffstat (limited to 'src/gallium/drivers/sw/SConscript')
-rw-r--r-- | src/gallium/drivers/sw/SConscript | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/gallium/drivers/sw/SConscript b/src/gallium/drivers/sw/SConscript index 37d0a0d63ce..e9ebf751ddd 100644 --- a/src/gallium/drivers/sw/SConscript +++ b/src/gallium/drivers/sw/SConscript @@ -5,32 +5,34 @@ # 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. -# -# XXX: unfortunately users of this driver still need to link in any -# extra libraries needed for the particular driver (eg llvm for -# llvmpipe). Not sure how to get around this. 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', ] - ) - Export('sw') + ) + extra +Export('sw') |