####################################################################### # SConscript for xlib winsys Import('*') if env['platform'] != 'linux': Return() if 'mesa' not in env['statetrackers']: print 'warning: Mesa state tracker disabled: skipping build of xlib libGL.so' Return() if env['dri']: print 'warning: DRI enabled: skipping build of xlib libGL.so' Return() if 'trace' not in env['drivers']: print 'warning: trace pipe driver disabled: skipping build of xlib libGL.so' Return() if not set(('softpipe', 'llvmpipe', 'trace')).intersection(env['drivers']): print 'warning: no supported pipe driver: skipping build of xlib libGL.so' Return() env = env.Clone() env.Append(CPPPATH = [ '#/src/mesa', '#/src/mesa/main', '#src/gallium/state_trackers/glx/xlib', ]) env.Append(CPPDEFINES = ['USE_XSHM']) sources = [ 'xlib.c', ] drivers = [trace] if 'softpipe' in env['drivers']: env.Append(CPPDEFINES = 'GALLIUM_SOFTPIPE') sources += ['xlib_softpipe.c'] drivers += [softpipe] if 'llvmpipe' in env['drivers']: env.Tool('llvm') if 'LLVM_VERSION' in env: env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE') env.Tool('udis86') sources += ['xlib_llvmpipe.c'] drivers += [llvmpipe] if 'cell' in env['drivers']: env.Append(CPPDEFINES = 'GALLIUM_CELL') sources += ['xlib_cell.c'] drivers += [cell] # TODO: write a wrapper function http://www.scons.org/wiki/WrapperFunctions libgl = env.SharedLibrary( target ='GL', source = sources, LIBS = st_xlib + glapi + mesa + glsl + drivers + gallium + env['LIBS'], ) if not env['dri']: # Only install this libGL.so if DRI not enabled env.InstallSharedLibrary(libgl, version=(1, 5))