Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. Import('*')
  2.  
  3. if not env['x11'] or not env['xcb'] or not env['drm']:
  4.     Return()
  5.  
  6. from sys import executable as python_cmd
  7.  
  8. env = env.Clone()
  9.  
  10. env.Prepend(CPPPATH = [
  11.         '.',           # the build/<platform>/glx/ directory
  12.         '#include',
  13.         '#include/GL/internal',
  14.         '#src/mesa',
  15.         '#src/mapi',
  16.         '#src/mapi/glapi',
  17.         #$(LIBDRM_CFLAGS)
  18.         #$(DRI2PROTO_CFLAGS)
  19.         #$(GLPROTO_CFLAGS)
  20.         #$(X11_INCLUDES)
  21. ])
  22.  
  23. env.Append(CPPDEFINES = [
  24.     '_REENTRANT',
  25.     #('DEFAULT_DRIVER_DIR', 'DRI_DRIVER_SEARCH_DIR')
  26. ])
  27.  
  28. env.Prepend(LIBS = [
  29.     glapi
  30. ])
  31.  
  32. env.PkgUseModules('X11')
  33. env.PkgUseModules('XCB')
  34. env.PkgUseModules('DRM')
  35.  
  36. if env['HAVE_XF86VIDMODE']:
  37.     env.Append(CPPDEFINES = ['XF86VIDMODE'])
  38.     env.PkgUseModules('XF86VIDMODE')
  39.  
  40. if False: # XXX: SHARED_GLAPI
  41.     env.Append(CPPDEFINES = ['GLX_SHARED_GLAPI'])
  42.  
  43. sources = [
  44.     'clientattrib.c',
  45.     'clientinfo.c',
  46.     'create_context.c',
  47.     'compsize.c',
  48.     'eval.c',
  49.     'glx_error.c',
  50.     'glxconfig.c',
  51.     'glxcmds.c',
  52.     'glxcurrent.c',
  53.     'glxext.c',
  54.     'glxextensions.c',
  55.     'indirect_glx.c',
  56.     'indirect.c',
  57.     'indirect_init.c',
  58.     'indirect_size.c',
  59.     'indirect_window_pos.c',
  60.     'indirect_texture_compression.c',
  61.     'indirect_transpose_matrix.c',
  62.     'indirect_vertex_array.c',
  63.     'indirect_vertex_program.c',
  64.     'pixel.c',
  65.     'pixelstore.c',
  66.     'render2.c',
  67.     'renderpix.c',
  68.     'single2.c',
  69.     'singlepix.c',
  70.     'vertarr.c',
  71.     'xfont.c',
  72.     'glx_pbuffer.c',
  73.     'glx_query.c',
  74.     'drisw_glx.c',
  75.     'dri_common.c',
  76.     'dri_glx.c',
  77.     'XF86dri.c',
  78.     'glxhash.c',
  79.     'dri2_glx.c',
  80.     'dri2.c',
  81.     'applegl_glx.c',
  82. ]
  83.  
  84. libgl = env.SharedLibrary(
  85.     target ='GL',
  86.     source = sources,
  87. )
  88.  
  89.  
  90. # Generate GLX-specific .c and .h files here.  Other GL API-related
  91. # files are used, but they're generated in mapi/glapi/gen/ since they're
  92. # used by other targets as well.
  93.  
  94. GLAPI = '#src/mapi/glapi/'
  95.  
  96. env.CodeGenerate(
  97.     target = 'indirect.c',
  98.     script = GLAPI + 'gen/glX_proto_send.py',
  99.     source = GLAPI + 'gen/gl_and_es_API.xml',
  100.     command = python_cmd + ' $SCRIPT -f $SOURCE -m proto > $TARGET'
  101.     )
  102.  
  103. env.CodeGenerate(
  104.     target = 'indirect_size.c',
  105.     script = GLAPI + 'gen/glX_proto_size.py',
  106.     source = GLAPI + 'gen/gl_API.xml',
  107.     command = python_cmd + ' $SCRIPT -f $SOURCE -m size_c --only-set > $TARGET'
  108. )
  109.  
  110. env.CodeGenerate(
  111.     target = 'indirect_init.c',
  112.     script = GLAPI + 'gen/glX_proto_send.py',
  113.     source = GLAPI + 'gen/gl_API.xml',
  114.     command = python_cmd + ' $SCRIPT -f $SOURCE -m init_c > $TARGET'
  115. )
  116.  
  117. env.CodeGenerate(
  118.     target = 'indirect_size.h',
  119.     script = GLAPI + 'gen/glX_proto_size.py',
  120.     source = GLAPI + 'gen/gl_API.xml',
  121.     command = python_cmd + ' $SCRIPT -f $SOURCE -m size_h --only-set -h _INDIRECT_SIZE_H > $TARGET'
  122. )
  123.  
  124. env.CodeGenerate(
  125.     target = 'indirect.h',
  126.     script = GLAPI + 'gen/glX_proto_send.py',
  127.     source = GLAPI + 'gen/gl_API.xml',
  128.     command = python_cmd + ' $SCRIPT -m init_h -f $SOURCE > $TARGET',
  129.     )
  130.  
  131.  
  132. libgl = env.InstallSharedLibrary(libgl, version=(1, 2))
  133.  
  134. env.Alias('glx', libgl)
  135. env.Alias('libgl', libgl)
  136.