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