Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. #######################################################################
  2. # SConscript for xlib winsys
  3.  
  4. Import('*')
  5.  
  6. env = env.Clone()
  7.  
  8. env.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.  
  16. env.Append(CPPDEFINES = ['USE_XSHM'])
  17.  
  18. env.Prepend(LIBS = env['X11_LIBS'])
  19. env.Prepend(LIBPATH = env['X11_LIBPATH'])
  20.  
  21. # when GLES is enabled, gl* and _glapi_* belong to bridge_glapi and
  22. # shared_glapi respectively
  23. if env['gles']:
  24.     env.Prepend(LIBPATH = [shared_glapi.dir])
  25.     glapi = [bridge_glapi, 'glapi']
  26.  
  27. env.Prepend(LIBS = [
  28.     st_xlib,
  29.     ws_xlib,
  30.     glapi,
  31.     mesautil,
  32.     mesa,
  33.     glsl,
  34.     gallium,
  35. ])
  36.  
  37. sources = [
  38.     'xlib.c',
  39. ]
  40.  
  41. if True:
  42.     env.Append(CPPDEFINES = ['GALLIUM_TRACE', 'GALLIUM_RBUG', 'GALLIUM_SOFTPIPE'])
  43.     env.Prepend(LIBS = [trace, rbug, softpipe])
  44.  
  45. if env['llvm']:
  46.     env.Append(CPPDEFINES = ['GALLIUM_LLVMPIPE'])
  47.     env.Prepend(LIBS = [llvmpipe])
  48.  
  49. # Disallow undefined symbols
  50. if env['platform'] != 'darwin':
  51.     env.Append(SHLINKFLAGS = ['-Wl,-z,defs'])
  52.  
  53. # libGL.so.1.5
  54. libgl_1_5 = env.SharedLibrary(
  55.     target ='GL',
  56.     source = sources,
  57.     SHLIBSUFFIX = env['SHLIBSUFFIX'] + '.1.5',
  58. )
  59.  
  60. # libGL.so.1
  61. libgl = env.subst('${SHLIBPREFIX}GL${SHLIBSUFFIX}')
  62. libgl_1 = libgl + '.1'
  63. env.Command(libgl_1, libgl_1_5, "ln -sf ${SOURCE.file} ${TARGET}")
  64. env.Command(libgl, libgl_1, "ln -sf ${SOURCE.file} ${TARGET}")
  65.  
  66. env.Alias('libgl-xlib', libgl)
  67.