Import('*') env = env.Clone() env.Append(CPPPATH = [ '#/src', '#/src/mapi', '#/src/mesa', '#/src/mesa/main', Dir('../../../mapi'), # src/mapi build path for python-generated GL API files/headers Dir('../../../mapi/glapi/gen'), # src/mapi/glapi/gen build path for python-generated GL API files/headers ]) env.Append(CPPDEFINES = ['USE_XSHM']) env.Prepend(LIBS = env['X11_LIBS']) env.Prepend(LIBPATH = env['X11_LIBPATH']) env.Prepend(LIBS = [ glapi, mesautil, compiler, glsl, mesa, spirv, nir, ]) sources = [ 'fakeglx.c', 'glxapi.c', 'xfonts.c', 'xm_api.c', 'xm_buffer.c', 'xm_dd.c', 'xm_line.c', 'xm_tri.c', ] if env['platform'] != 'darwin': # Disallow undefined symbols, except with Address Sanitizer, since libasan # is not linked on shared libs, as it should be LD_PRELOAD'ed instead if not env['asan']: env.Append(SHLINKFLAGS = [ '-Wl,-z,defs', ]) # libGL.so.1.6 libgl_1_6 = env.SharedLibrary( target ='GL', source = sources, SHLIBSUFFIX = env['SHLIBSUFFIX'] + '.1.6', ) # libGL.so.1 libgl = env.subst('${SHLIBPREFIX}GL${SHLIBSUFFIX}') libgl_1 = libgl + '.1' env.Command(libgl_1, libgl_1_6, "ln -sf ${SOURCE.file} ${TARGET}") env.Command(libgl, libgl_1, "ln -sf ${SOURCE.file} ${TARGET}") env.Alias('libgl-xlib-swrast', libgl)