1 1.1 mrg ####################################################################### 2 1.1 mrg # SConscript for xlib winsys 3 1.1 mrg 4 1.1 mrg Import('*') 5 1.1 mrg 6 1.1 mrg env = env.Clone() 7 1.1 mrg 8 1.1 mrg env.Append(CPPPATH = [ 9 1.1 mrg '#/src/mapi', 10 1.1 mrg '#/src/mesa', 11 1.1 mrg '#/src/mesa/main', 12 1.1 mrg '#src/gallium/state_trackers/glx/xlib', 13 1.1 mrg Dir('../../../mapi'), # src/mapi build path for python-generated GL API files/headers 14 1.1 mrg ]) 15 1.1 mrg 16 1.1 mrg env.Append(CPPDEFINES = ['USE_XSHM']) 17 1.1 mrg 18 1.1 mrg env.Prepend(LIBS = env['X11_LIBS']) 19 1.1 mrg env.Prepend(LIBPATH = env['X11_LIBPATH']) 20 1.1 mrg 21 1.1 mrg env.Prepend(LIBS = [ 22 1.1 mrg st_xlib, 23 1.1 mrg ws_xlib, 24 1.1 mrg glapi, 25 1.1 mrg mesautil, 26 1.1.1.2 mrg compiler, 27 1.1 mrg mesa, 28 1.1 mrg glsl, 29 1.1.1.2 mrg nir, 30 1.1.1.2 mrg spirv, 31 1.1 mrg gallium, 32 1.1 mrg ]) 33 1.1 mrg 34 1.1 mrg sources = [ 35 1.1 mrg 'xlib.c', 36 1.1 mrg ] 37 1.1 mrg 38 1.1 mrg if True: 39 1.1.1.2 mrg env.Append(CPPDEFINES = ['GALLIUM_SOFTPIPE']) 40 1.1.1.2 mrg env.Prepend(LIBS = [softpipe]) 41 1.1 mrg 42 1.1 mrg if env['llvm']: 43 1.1 mrg env.Append(CPPDEFINES = ['GALLIUM_LLVMPIPE']) 44 1.1 mrg env.Prepend(LIBS = [llvmpipe]) 45 1.1 mrg 46 1.1.1.2 mrg if env['swr']: 47 1.1.1.2 mrg env.Append(CPPDEFINES = 'GALLIUM_SWR') 48 1.1.1.2 mrg env.Prepend(LIBS = [swr]) 49 1.1.1.2 mrg 50 1.1 mrg if env['platform'] != 'darwin': 51 1.1.1.2 mrg # Disallow undefined symbols, except with Address Sanitizer, since libasan 52 1.1.1.2 mrg # is not linked on shared libs, as it should be LD_PRELOAD'ed instead 53 1.1.1.2 mrg if not env['asan']: 54 1.1.1.2 mrg env.Append(SHLINKFLAGS = [ 55 1.1.1.2 mrg '-Wl,-z,defs', 56 1.1.1.2 mrg ]) 57 1.1.1.2 mrg env.Append(SHLINKFLAGS = [ 58 1.1.1.2 mrg # Restrict exported symbols 59 1.1.1.2 mrg '-Wl,--version-script=%s' % File("libgl-xlib.sym").srcnode().path, 60 1.1.1.2 mrg ]) 61 1.1 mrg 62 1.1 mrg # libGL.so.1.5 63 1.1 mrg libgl_1_5 = env.SharedLibrary( 64 1.1 mrg target ='GL', 65 1.1 mrg source = sources, 66 1.1 mrg SHLIBSUFFIX = env['SHLIBSUFFIX'] + '.1.5', 67 1.1 mrg ) 68 1.1 mrg 69 1.1 mrg # libGL.so.1 70 1.1 mrg libgl = env.subst('${SHLIBPREFIX}GL${SHLIBSUFFIX}') 71 1.1 mrg libgl_1 = libgl + '.1' 72 1.1 mrg env.Command(libgl_1, libgl_1_5, "ln -sf ${SOURCE.file} ${TARGET}") 73 1.1 mrg env.Command(libgl, libgl_1, "ln -sf ${SOURCE.file} ${TARGET}") 74 1.1 mrg 75 1.1 mrg env.Alias('libgl-xlib', libgl) 76