
Now that draw depends on llvm it is very difficult to correctly handle broken llvm installations. Either the user requests LLVM and it needs to supply a working installation. Or it doesn't, and it gets no LLVM accelerate pipe drivers.
70 lines
1.5 KiB
Python
70 lines
1.5 KiB
Python
#######################################################################
|
|
# 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 not set(('softpipe', 'llvmpipe', 'cell')).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'])
|
|
|
|
env.Prepend(LIBS = [
|
|
st_xlib,
|
|
ws_xlib,
|
|
trace,
|
|
identity,
|
|
glapi,
|
|
mesa,
|
|
glsl,
|
|
gallium,
|
|
])
|
|
|
|
sources = [
|
|
'xlib.c',
|
|
]
|
|
|
|
env.Tool('x11')
|
|
|
|
if 'softpipe' in env['drivers']:
|
|
env.Append(CPPDEFINES = 'GALLIUM_SOFTPIPE')
|
|
env.Prepend(LIBS = [softpipe])
|
|
|
|
if 'llvmpipe' in env['drivers']:
|
|
env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE')
|
|
env.Tool('udis86')
|
|
env.Prepend(LIBS = [llvmpipe])
|
|
|
|
if 'cell' in env['drivers']:
|
|
env.Append(CPPDEFINES = 'GALLIUM_CELL')
|
|
env.Prepend(LIBS = [cell])
|
|
|
|
# TODO: write a wrapper function http://www.scons.org/wiki/WrapperFunctions
|
|
libgl = env.SharedLibrary(
|
|
target ='GL',
|
|
source = sources,
|
|
)
|
|
|
|
if not env['dri']:
|
|
# Only install this libGL.so if DRI not enabled
|
|
env.InstallSharedLibrary(libgl, version=(1, 5))
|