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