1 #######################################################################
2 # SConscript for xlib winsys
12 '#src/gallium/state_trackers/glx/xlib',
13 Dir('../../../mapi'), # src/mapi build path for python-generated GL API files/headers
16 env.Append(CPPDEFINES = ['USE_XSHM'])
18 env.Prepend(LIBS = env['X11_LIBS'])
19 env.Prepend(LIBPATH = env['X11_LIBPATH'])
21 # when GLES is enabled, gl* and _glapi_* belong to bridge_glapi and
22 # shared_glapi respectively
24 env.Prepend(LIBPATH = [shared_glapi.dir])
25 glapi = [bridge_glapi, 'glapi']
44 env.Append(CPPDEFINES = ['GALLIUM_TRACE', 'GALLIUM_RBUG', 'GALLIUM_SOFTPIPE'])
45 env.Prepend(LIBS = [trace, rbug, softpipe])
48 env.Append(CPPDEFINES = ['GALLIUM_LLVMPIPE'])
49 env.Prepend(LIBS = [llvmpipe])
51 if env['platform'] != 'darwin':
52 # Disallow undefined symbols, except with Address Sanitizer, since libasan
53 # is not linked on shared libs, as it should be LD_PRELOAD'ed instead
55 env.Append(SHLINKFLAGS = [
58 env.Append(SHLINKFLAGS = [
59 # Restrict exported symbols
60 '-Wl,--version-script=%s' % File("libgl-xlib.sym").srcnode().path,
64 libgl_1_5 = env.SharedLibrary(
67 SHLIBSUFFIX = env['SHLIBSUFFIX'] + '.1.5',
71 libgl = env.subst('${SHLIBPREFIX}GL${SHLIBSUFFIX}')
72 libgl_1 = libgl + '.1'
73 env.Command(libgl_1, libgl_1_5, "ln -sf ${SOURCE.file} ${TARGET}")
74 env.Command(libgl, libgl_1, "ln -sf ${SOURCE.file} ${TARGET}")
76 env.Alias('libgl-xlib', libgl)