Home | History | Annotate | Line # | Download | only in libgl-xlib
      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