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