SConscript revision 848b8605
1848b8605SmrgImport('*') 2848b8605Smrg 3848b8605Smrgif not env['x11'] or not env['xcb'] or not env['drm']: 4848b8605Smrg Return() 5848b8605Smrg 6848b8605Smrgfrom sys import executable as python_cmd 7848b8605Smrg 8848b8605Smrgenv = env.Clone() 9848b8605Smrg 10848b8605Smrgenv.Prepend(CPPPATH = [ 11848b8605Smrg '.', # the build/<platform>/glx/ directory 12848b8605Smrg '#include', 13848b8605Smrg '#include/GL/internal', 14848b8605Smrg '#src/loader', 15848b8605Smrg '#src/mesa', 16848b8605Smrg '#src/mapi', 17848b8605Smrg '#src/mapi/glapi', 18848b8605Smrg #$(LIBDRM_CFLAGS) 19848b8605Smrg #$(DRI2PROTO_CFLAGS) 20848b8605Smrg #$(GLPROTO_CFLAGS) 21848b8605Smrg #$(X11_INCLUDES) 22848b8605Smrg]) 23848b8605Smrg 24848b8605Smrgenv.Append(CPPDEFINES = [ 25848b8605Smrg '_REENTRANT', 26848b8605Smrg #('DEFAULT_DRIVER_DIR', 'DRI_DRIVER_SEARCH_DIR') 27848b8605Smrg]) 28848b8605Smrg 29848b8605Smrgenv.Prepend(LIBS = [ 30848b8605Smrg libloader, 31848b8605Smrg glapi 32848b8605Smrg]) 33848b8605Smrg 34848b8605Smrgenv.PkgUseModules('X11') 35848b8605Smrgenv.PkgUseModules('XCB') 36848b8605Smrgenv.PkgUseModules('DRM') 37848b8605Smrg 38848b8605Smrgif env['HAVE_XF86VIDMODE']: 39848b8605Smrg env.Append(CPPDEFINES = ['XF86VIDMODE']) 40848b8605Smrg env.PkgUseModules('XF86VIDMODE') 41848b8605Smrg 42848b8605Smrgif False: # XXX: SHARED_GLAPI 43848b8605Smrg env.Append(CPPDEFINES = ['GLX_SHARED_GLAPI']) 44848b8605Smrg 45848b8605Smrgsources = [ 46848b8605Smrg 'clientattrib.c', 47848b8605Smrg 'clientinfo.c', 48848b8605Smrg 'create_context.c', 49848b8605Smrg 'compsize.c', 50848b8605Smrg 'eval.c', 51848b8605Smrg 'glx_error.c', 52848b8605Smrg 'glxconfig.c', 53848b8605Smrg 'glxcmds.c', 54848b8605Smrg 'glxcurrent.c', 55848b8605Smrg 'glxext.c', 56848b8605Smrg 'glxextensions.c', 57848b8605Smrg 'indirect_glx.c', 58848b8605Smrg 'indirect.c', 59848b8605Smrg 'indirect_init.c', 60848b8605Smrg 'indirect_size.c', 61848b8605Smrg 'indirect_window_pos.c', 62848b8605Smrg 'indirect_texture_compression.c', 63848b8605Smrg 'indirect_transpose_matrix.c', 64848b8605Smrg 'indirect_vertex_array.c', 65848b8605Smrg 'indirect_vertex_program.c', 66848b8605Smrg 'pixel.c', 67848b8605Smrg 'pixelstore.c', 68848b8605Smrg 'query_renderer.c', 69848b8605Smrg 'render2.c', 70848b8605Smrg 'renderpix.c', 71848b8605Smrg 'single2.c', 72848b8605Smrg 'singlepix.c', 73848b8605Smrg 'vertarr.c', 74848b8605Smrg 'xfont.c', 75848b8605Smrg 'glx_pbuffer.c', 76848b8605Smrg 'glx_query.c', 77848b8605Smrg 'drisw_glx.c', 78848b8605Smrg 'dri_common.c', 79848b8605Smrg 'dri_glx.c', 80848b8605Smrg 'XF86dri.c', 81848b8605Smrg 'glxhash.c', 82848b8605Smrg 'dri2_glx.c', 83848b8605Smrg 'dri2.c', 84848b8605Smrg 'dri2_query_renderer.c', 85848b8605Smrg #'dri3_glx.c', 86848b8605Smrg 'applegl_glx.c', 87848b8605Smrg] 88848b8605Smrg 89848b8605Smrglibgl = env.SharedLibrary( 90848b8605Smrg target ='GL', 91848b8605Smrg source = sources, 92848b8605Smrg) 93848b8605Smrg 94848b8605Smrg 95848b8605Smrg# Generate GLX-specific .c and .h files here. Other GL API-related 96848b8605Smrg# files are used, but they're generated in mapi/glapi/gen/ since they're 97848b8605Smrg# used by other targets as well. 98848b8605Smrg 99848b8605SmrgGLAPI = '#src/mapi/glapi/' 100848b8605Smrgsources = [GLAPI + 'gen/gl_API.xml'] + env.Glob(GLAPI + 'gen/*.xml') 101848b8605Smrg 102848b8605Smrgenv.CodeGenerate( 103848b8605Smrg target = 'indirect.c', 104848b8605Smrg script = GLAPI + 'gen/glX_proto_send.py', 105848b8605Smrg source = sources, 106848b8605Smrg command = python_cmd + ' $SCRIPT -f $SOURCE -m proto > $TARGET' 107848b8605Smrg ) 108848b8605Smrg 109848b8605Smrgenv.CodeGenerate( 110848b8605Smrg target = 'indirect_size.c', 111848b8605Smrg script = GLAPI + 'gen/glX_proto_size.py', 112848b8605Smrg source = sources, 113848b8605Smrg command = python_cmd + ' $SCRIPT -f $SOURCE -m size_c --only-set > $TARGET' 114848b8605Smrg) 115848b8605Smrg 116848b8605Smrgenv.CodeGenerate( 117848b8605Smrg target = 'indirect_init.c', 118848b8605Smrg script = GLAPI + 'gen/glX_proto_send.py', 119848b8605Smrg source = sources, 120848b8605Smrg command = python_cmd + ' $SCRIPT -f $SOURCE -m init_c > $TARGET' 121848b8605Smrg) 122848b8605Smrg 123848b8605Smrgenv.CodeGenerate( 124848b8605Smrg target = 'indirect_size.h', 125848b8605Smrg script = GLAPI + 'gen/glX_proto_size.py', 126848b8605Smrg source = sources, 127848b8605Smrg command = python_cmd + ' $SCRIPT -f $SOURCE -m size_h --only-set -h _INDIRECT_SIZE_H > $TARGET' 128848b8605Smrg) 129848b8605Smrg 130848b8605Smrgenv.CodeGenerate( 131848b8605Smrg target = 'indirect.h', 132848b8605Smrg script = GLAPI + 'gen/glX_proto_send.py', 133848b8605Smrg source = sources, 134848b8605Smrg command = python_cmd + ' $SCRIPT -m init_h -f $SOURCE > $TARGET', 135848b8605Smrg ) 136848b8605Smrg 137848b8605Smrg 138848b8605Smrglibgl = env.InstallSharedLibrary(libgl, version=(1, 2)) 139848b8605Smrg 140848b8605Smrgenv.Alias('glx', libgl) 141848b8605Smrgenv.Alias('libgl', libgl) 142