1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
#######################################################################
# SConscript for xlib winsys
Import('*')
if env['platform'] == 'linux' \
and 'mesa' in env['statetrackers'] \
and set(('softpipe', 'llvmpipe', 'i915simple', 'trace')).intersection(env['drivers']) \
and not env['dri']:
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 = []
if 'softpipe' in env['drivers']:
env.Append(CPPDEFINES = 'GALLIUM_SOFTPIPE')
sources += ['xlib_softpipe.c']
drivers += [softpipe]
if 'llvmpipe' in env['drivers']:
env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE')
env.Tool('udis86')
env.ParseConfig('llvm-config --libs jit interpreter nativecodegen')
env['LINK'] = env['CXX']
sources += ['xlib_llvmpipe.c']
drivers += [llvmpipe]
if 'i965simple' in env['drivers']:
env.Append(CPPDEFINES = 'GALLIUM_I965SIMPLE')
sources += [
'xlib_brw_aub.c',
'xlib_brw_context.c',
'xlib_brw_screen.c',
]
drivers += [i965simple]
if 'cell' in env['drivers']:
env.Append(CPPDEFINES = 'GALLIUM_CELL')
sources += ['xlib_cell.c']
drivers += [cell]
if 'trace' in env['drivers']:
env.Append(CPPDEFINES = 'GALLIUM_TRACE')
sources += ['xlib_trace.c']
drivers += [trace]
# TODO: write a wrapper function http://www.scons.org/wiki/WrapperFunctions
libgl = env.SharedLibrary(
target ='GL',
source = sources,
LIBS = st_xlib + glapi + mesa + drivers + auxiliaries + env['LIBS'],
)
env.InstallSharedLibrary(libgl, version=(1, 5))
|