3 from sys import executable as python_cmd
7 env.Prepend(CPPPATH = [
8 '.', # the build/<platform>/glx/ directory
10 '#include/GL/internal',
20 env.Append(CPPDEFINES = [
22 #('DEFAULT_DRIVER_DIR', 'DRI_DRIVER_SEARCH_DIR')
29 env.PkgUseModules('X11')
30 env.PkgUseModules('XCB')
31 env.PkgUseModules('DRM')
33 if env['HAVE_XF86VIDMODE']:
34 env.Append(CPPDEFINES = ['XF86VIDMODE'])
35 env.PkgUseModules('XF86VIDMODE')
37 if False: # XXX: SHARED_GLAPI
38 env.Append(CPPDEFINES = ['GLX_SHARED_GLAPI'])
56 'indirect_window_pos.c',
57 'indirect_texture_compression.c',
58 'indirect_transpose_matrix.c',
59 'indirect_vertex_array.c',
60 'indirect_vertex_program.c',
81 libgl = env.SharedLibrary(
87 # Generate GLX-specific .c and .h files here. Other GL API-related
88 # files are used, but they're generated in mapi/glapi/gen/ since they're
89 # used by other targets as well.
91 GLAPI = '#src/mapi/glapi/'
94 target = 'indirect.c',
95 script = GLAPI + 'gen/glX_proto_send.py',
96 source = GLAPI + 'gen/gl_and_es_API.xml',
97 command = python_cmd + ' $SCRIPT -f $SOURCE -m proto > $TARGET'
101 target = 'indirect_size.c',
102 script = GLAPI + 'gen/glX_proto_size.py',
103 source = GLAPI + 'gen/gl_API.xml',
104 command = python_cmd + ' $SCRIPT -f $SOURCE -m size_c --only-set > $TARGET'
108 target = 'indirect_init.c',
109 script = GLAPI + 'gen/glX_proto_send.py',
110 source = GLAPI + 'gen/gl_API.xml',
111 command = python_cmd + ' $SCRIPT -f $SOURCE -m init_c > $TARGET'
116 headers += env.CodeGenerate(
117 target = 'indirect_size.h',
118 script = GLAPI + 'gen/glX_proto_size.py',
119 source = GLAPI + 'gen/gl_API.xml',
120 command = python_cmd + ' $SCRIPT -f $SOURCE -m size_h --only-set -h _INDIRECT_SIZE_H > $TARGET'
123 headers += env.CodeGenerate(
124 target = 'indirect.h',
125 script = GLAPI + 'gen/glX_proto_send.py',
126 source = GLAPI + 'gen/gl_API.xml',
127 command = python_cmd + ' $SCRIPT -m init_h -f $SOURCE > $TARGET',
131 env.Depends(sources, headers)
134 libgl = env.InstallSharedLibrary(libgl, version=(1, 2))
136 env.Alias('glx', libgl)
137 env.Alias('libgl', libgl)