1848b8605SmrgImport('*') 2848b8605Smrg 3848b8605Smrgenv = env.Clone() 4848b8605Smrg 5848b8605Smrgenv.Append(CPPPATH = [ 6848b8605Smrg '#/src', 7848b8605Smrg '#/src/mapi', 8848b8605Smrg '#/src/mesa', 9848b8605Smrg '#/src/mesa/main', 10848b8605Smrg Dir('../../../mapi'), # src/mapi build path for python-generated GL API files/headers 11848b8605Smrg]) 12848b8605Smrg 13848b8605Smrgenv.Append(CPPDEFINES = ['USE_XSHM']) 14848b8605Smrg 15848b8605Smrgenv.Prepend(LIBS = env['X11_LIBS']) 16848b8605Smrgenv.Prepend(LIBPATH = env['X11_LIBPATH']) 17848b8605Smrg 18848b8605Smrgenv.Prepend(LIBS = [ 19848b8605Smrg glapi, 20848b8605Smrg mesautil, 21b8e80941Smrg compiler, 22848b8605Smrg glsl, 23848b8605Smrg mesa, 24b8e80941Smrg spirv, 25b8e80941Smrg nir, 26848b8605Smrg]) 27848b8605Smrg 28848b8605Smrgsources = [ 29848b8605Smrg 'fakeglx.c', 30848b8605Smrg 'glxapi.c', 31848b8605Smrg 'xfonts.c', 32848b8605Smrg 'xm_api.c', 33848b8605Smrg 'xm_buffer.c', 34848b8605Smrg 'xm_dd.c', 35848b8605Smrg 'xm_line.c', 36848b8605Smrg 'xm_tri.c', 37848b8605Smrg] 38848b8605Smrg 39848b8605Smrgif env['platform'] != 'darwin': 40b8e80941Smrg # Disallow undefined symbols, except with Address Sanitizer, since libasan 41b8e80941Smrg # is not linked on shared libs, as it should be LD_PRELOAD'ed instead 42b8e80941Smrg if not env['asan']: 43b8e80941Smrg env.Append(SHLINKFLAGS = [ 44b8e80941Smrg '-Wl,-z,defs', 45b8e80941Smrg ]) 46848b8605Smrg 47848b8605Smrg# libGL.so.1.6 48848b8605Smrglibgl_1_6 = env.SharedLibrary( 49848b8605Smrg target ='GL', 50848b8605Smrg source = sources, 51848b8605Smrg SHLIBSUFFIX = env['SHLIBSUFFIX'] + '.1.6', 52848b8605Smrg) 53848b8605Smrg 54848b8605Smrg# libGL.so.1 55848b8605Smrglibgl = env.subst('${SHLIBPREFIX}GL${SHLIBSUFFIX}') 56848b8605Smrglibgl_1 = libgl + '.1' 57848b8605Smrgenv.Command(libgl_1, libgl_1_6, "ln -sf ${SOURCE.file} ${TARGET}") 58848b8605Smrgenv.Command(libgl, libgl_1, "ln -sf ${SOURCE.file} ${TARGET}") 59848b8605Smrg 60848b8605Smrgenv.Alias('libgl-xlib-swrast', libgl) 61