SConscript revision dff36e900c645401b26c9a44106459e96ee7a24d
1674060f01e9090cd21b3c5656cc3204912ad17a6Jon BoekenoogenImport('*') 2674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 3674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenfrom sys import executable as python_cmd 4674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 5674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenenv = env.Clone() 6674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 7674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenenv.Prepend(CPPPATH = [ 8674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen '.', # the build/<platform>/glx/ directory 9674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen '#include', 10674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen '#include/GL/internal', 11674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen '#src/mesa', 12674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen '#src/mapi', 13674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen '#src/mapi/glapi', 14674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen #$(LIBDRM_CFLAGS) 15674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen #$(DRI2PROTO_CFLAGS) 16674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen #$(GLPROTO_CFLAGS) 17674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen #$(X11_INCLUDES) 18674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen]) 19674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 20674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenenv.Append(CPPDEFINES = [ 21674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen '_REENTRANT', 22674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen #('DEFAULT_DRIVER_DIR', 'DRI_DRIVER_SEARCH_DIR') 23674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen]) 24674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 25674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenenv.Prepend(LIBS = [ 26674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen glapi 27674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen]) 28674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 29674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenenv.PkgUseModules('X11') 30674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenenv.PkgUseModules('XCB') 31674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenenv.PkgUseModules('DRM') 32674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 33674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenif env['HAVE_XF86VIDMODE']: 34674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen env.Append(CPPDEFINES = ['XF86VIDMODE']) 35674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen env.PkgUseModules('XF86VIDMODE') 36674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 37674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenif False: # XXX: SHARED_GLAPI 38674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen env.Append(CPPDEFINES = ['GLX_SHARED_GLAPI']) 39674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 40674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogensources = [ 41674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'clientattrib.c', 42674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'clientinfo.c', 43674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'create_context.c', 44674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'compsize.c', 45674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'eval.c', 46674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'glx_error.c', 47674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'glxconfig.c', 48674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'glxcmds.c', 49674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'glxcurrent.c', 50674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'glxext.c', 51674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'glxextensions.c', 52674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'indirect_glx.c', 53674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'indirect.c', 54674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'indirect_init.c', 55674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'indirect_size.c', 56674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'indirect_window_pos.c', 57674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'indirect_texture_compression.c', 58674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'indirect_transpose_matrix.c', 59674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'indirect_vertex_array.c', 60674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'indirect_vertex_program.c', 61674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'pixel.c', 62674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'pixelstore.c', 63674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'render2.c', 64674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'renderpix.c', 65674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'single2.c', 66674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'singlepix.c', 67674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'vertarr.c', 68674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'xfont.c', 69674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'glx_pbuffer.c', 70674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'glx_query.c', 71674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'drisw_glx.c', 72674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'dri_common.c', 73674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'dri_glx.c', 74674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'XF86dri.c', 75674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'glxhash.c', 76674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'dri2_glx.c', 77674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'dri2.c', 78674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 'applegl_glx.c', 79674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen] 80674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 81674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenlibgl = env.SharedLibrary( 82674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen target ='GL', 83674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen source = sources, 84674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen) 85674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 86674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 87674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen# Generate GLX-specific .c and .h files here. Other GL API-related 88674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen# files are used, but they're generated in mapi/glapi/gen/ since they're 89674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen# used by other targets as well. 90674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 91674060f01e9090cd21b3c5656cc3204912ad17a6Jon BoekenoogenGLAPI = '#src/mapi/glapi/' 92674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 93674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenenv.CodeGenerate( 94674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen target = 'indirect.c', 95674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen script = GLAPI + 'gen/glX_proto_send.py', 96674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen source = GLAPI + 'gen/gl_and_es_API.xml', 97674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen command = python_cmd + ' $SCRIPT -f $SOURCE -m proto > $TARGET' 98674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen ) 99674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 100674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenenv.CodeGenerate( 101674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen target = 'indirect_size.c', 102674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen script = GLAPI + 'gen/glX_proto_size.py', 103674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen source = GLAPI + 'gen/gl_API.xml', 104674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen command = python_cmd + ' $SCRIPT -f $SOURCE -m size_c --only-set > $TARGET' 105674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen) 106674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 107674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenenv.CodeGenerate( 108674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen target = 'indirect_init.c', 109674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen script = GLAPI + 'gen/glX_proto_send.py', 110674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen source = GLAPI + 'gen/gl_API.xml', 111674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen command = python_cmd + ' $SCRIPT -f $SOURCE -m init_c > $TARGET' 112674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen) 113674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 114674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenheaders = [] 115674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 116674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenheaders += env.CodeGenerate( 117674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen target = 'indirect_size.h', 118674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen script = GLAPI + 'gen/glX_proto_size.py', 119674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen source = GLAPI + 'gen/gl_API.xml', 120674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen command = python_cmd + ' $SCRIPT -f $SOURCE -m size_h --only-set -h _INDIRECT_SIZE_H > $TARGET' 121674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen) 122674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 123674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenheaders += env.CodeGenerate( 124674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen target = 'indirect.h', 125674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen script = GLAPI + 'gen/glX_proto_send.py', 126674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen source = GLAPI + 'gen/gl_API.xml', 127674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen command = python_cmd + ' $SCRIPT -m init_h -f $SOURCE > $TARGET', 128674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen ) 129674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 130674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 131674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenenv.Depends(sources, headers) 132674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 133674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 134674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenlibgl = env.InstallSharedLibrary(libgl, version=(1, 2)) 135674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen 136674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenenv.Alias('glx', libgl) 137674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogenenv.Alias('libgl', libgl) 138674060f01e9090cd21b3c5656cc3204912ad17a6Jon Boekenoogen