summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/xlib/SConscript
blob: cdc31d22a21f93f1cc5e460817485fca980a2bda (plain)
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
#######################################################################
# 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 '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))