1 1.1 mrg Import('*') 2 1.1 mrg 3 1.1 mrg env = env.Clone() 4 1.1 mrg 5 1.1 mrg env.Append(CPPPATH = [ 6 1.1 mrg '#/src', 7 1.1 mrg '#/src/mapi', 8 1.1 mrg '#/src/mesa', 9 1.1 mrg '#/src/mesa/main', 10 1.1 mrg Dir('../../../mapi'), # src/mapi build path for python-generated GL API files/headers 11 1.1 mrg ]) 12 1.1 mrg 13 1.1 mrg env.Append(CPPDEFINES = ['USE_XSHM']) 14 1.1 mrg 15 1.1 mrg env.Prepend(LIBS = env['X11_LIBS']) 16 1.1 mrg env.Prepend(LIBPATH = env['X11_LIBPATH']) 17 1.1 mrg 18 1.1 mrg env.Prepend(LIBS = [ 19 1.1 mrg glapi, 20 1.1 mrg mesautil, 21 1.1.1.2 mrg compiler, 22 1.1 mrg glsl, 23 1.1 mrg mesa, 24 1.1.1.2 mrg spirv, 25 1.1.1.2 mrg nir, 26 1.1 mrg ]) 27 1.1 mrg 28 1.1 mrg sources = [ 29 1.1 mrg 'fakeglx.c', 30 1.1 mrg 'glxapi.c', 31 1.1 mrg 'xfonts.c', 32 1.1 mrg 'xm_api.c', 33 1.1 mrg 'xm_buffer.c', 34 1.1 mrg 'xm_dd.c', 35 1.1 mrg 'xm_line.c', 36 1.1 mrg 'xm_tri.c', 37 1.1 mrg ] 38 1.1 mrg 39 1.1 mrg if env['platform'] != 'darwin': 40 1.1.1.2 mrg # Disallow undefined symbols, except with Address Sanitizer, since libasan 41 1.1.1.2 mrg # is not linked on shared libs, as it should be LD_PRELOAD'ed instead 42 1.1.1.2 mrg if not env['asan']: 43 1.1.1.2 mrg env.Append(SHLINKFLAGS = [ 44 1.1.1.2 mrg '-Wl,-z,defs', 45 1.1.1.2 mrg ]) 46 1.1 mrg 47 1.1 mrg # libGL.so.1.6 48 1.1 mrg libgl_1_6 = env.SharedLibrary( 49 1.1 mrg target ='GL', 50 1.1 mrg source = sources, 51 1.1 mrg SHLIBSUFFIX = env['SHLIBSUFFIX'] + '.1.6', 52 1.1 mrg ) 53 1.1 mrg 54 1.1 mrg # libGL.so.1 55 1.1 mrg libgl = env.subst('${SHLIBPREFIX}GL${SHLIBSUFFIX}') 56 1.1 mrg libgl_1 = libgl + '.1' 57 1.1 mrg env.Command(libgl_1, libgl_1_6, "ln -sf ${SOURCE.file} ${TARGET}") 58 1.1 mrg env.Command(libgl, libgl_1, "ln -sf ${SOURCE.file} ${TARGET}") 59 1.1 mrg 60 1.1 mrg env.Alias('libgl-xlib-swrast', libgl) 61