1848b8605Smrg####################################################################### 2848b8605Smrg# SConscript for xlib winsys 3848b8605Smrg 4848b8605SmrgImport('*') 5848b8605Smrg 6848b8605Smrgenv = env.Clone() 7848b8605Smrg 8848b8605Smrgenv.Append(CPPPATH = [ 9848b8605Smrg '#/src/mapi', 10848b8605Smrg '#/src/mesa', 11848b8605Smrg '#/src/mesa/main', 12848b8605Smrg '#src/gallium/state_trackers/glx/xlib', 13848b8605Smrg Dir('../../../mapi'), # src/mapi build path for python-generated GL API files/headers 14848b8605Smrg]) 15848b8605Smrg 16848b8605Smrgenv.Append(CPPDEFINES = ['USE_XSHM']) 17848b8605Smrg 18848b8605Smrgenv.Prepend(LIBS = env['X11_LIBS']) 19848b8605Smrgenv.Prepend(LIBPATH = env['X11_LIBPATH']) 20848b8605Smrg 21848b8605Smrgenv.Prepend(LIBS = [ 22848b8605Smrg st_xlib, 23848b8605Smrg ws_xlib, 24848b8605Smrg glapi, 25848b8605Smrg mesautil, 26b8e80941Smrg compiler, 27848b8605Smrg mesa, 28848b8605Smrg glsl, 29b8e80941Smrg nir, 30b8e80941Smrg spirv, 31848b8605Smrg gallium, 32848b8605Smrg]) 33848b8605Smrg 34848b8605Smrgsources = [ 35848b8605Smrg 'xlib.c', 36848b8605Smrg] 37848b8605Smrg 38848b8605Smrgif True: 39b8e80941Smrg env.Append(CPPDEFINES = ['GALLIUM_SOFTPIPE']) 40b8e80941Smrg env.Prepend(LIBS = [softpipe]) 41848b8605Smrg 42848b8605Smrgif env['llvm']: 43848b8605Smrg env.Append(CPPDEFINES = ['GALLIUM_LLVMPIPE']) 44848b8605Smrg env.Prepend(LIBS = [llvmpipe]) 45848b8605Smrg 46b8e80941Smrg if env['swr']: 47b8e80941Smrg env.Append(CPPDEFINES = 'GALLIUM_SWR') 48b8e80941Smrg env.Prepend(LIBS = [swr]) 49b8e80941Smrg 50848b8605Smrgif env['platform'] != 'darwin': 51b8e80941Smrg # Disallow undefined symbols, except with Address Sanitizer, since libasan 52b8e80941Smrg # is not linked on shared libs, as it should be LD_PRELOAD'ed instead 53b8e80941Smrg if not env['asan']: 54b8e80941Smrg env.Append(SHLINKFLAGS = [ 55b8e80941Smrg '-Wl,-z,defs', 56b8e80941Smrg ]) 57b8e80941Smrg env.Append(SHLINKFLAGS = [ 58b8e80941Smrg # Restrict exported symbols 59b8e80941Smrg '-Wl,--version-script=%s' % File("libgl-xlib.sym").srcnode().path, 60b8e80941Smrg ]) 61848b8605Smrg 62848b8605Smrg# libGL.so.1.5 63848b8605Smrglibgl_1_5 = env.SharedLibrary( 64848b8605Smrg target ='GL', 65848b8605Smrg source = sources, 66848b8605Smrg SHLIBSUFFIX = env['SHLIBSUFFIX'] + '.1.5', 67848b8605Smrg) 68848b8605Smrg 69848b8605Smrg# libGL.so.1 70848b8605Smrglibgl = env.subst('${SHLIBPREFIX}GL${SHLIBSUFFIX}') 71848b8605Smrglibgl_1 = libgl + '.1' 72848b8605Smrgenv.Command(libgl_1, libgl_1_5, "ln -sf ${SOURCE.file} ${TARGET}") 73848b8605Smrgenv.Command(libgl, libgl_1, "ln -sf ${SOURCE.file} ${TARGET}") 74848b8605Smrg 75848b8605Smrgenv.Alias('libgl-xlib', libgl) 76