+GLAPI = '#src/mapi/glapi/'
+
+if env['gles']:
+
+ enabled_apis += ['ES1', 'ES2']
+
+ # generate GLES sources
+ gles_sources = ['main/es1_conversion.c',]
+ gles_sources += env.CodeGenerate(
+ target = 'main/api_exec_es1.c',
+ script = 'main/es_generator.py',
+ source = 'main/APIspec.xml',
+ command = python_cmd + ' $SCRIPT -S $SOURCE -V GLES1.1 > $TARGET'
+ )
+
+ # generate GLES headers
+ gles_headers = []
+ gles_headers += env.CodeGenerate(
+ target = 'main/api_exec_es1_dispatch.h',
+ script = GLAPI + 'gen/gl_table.py',
+ source = GLAPI + 'gen/gl_and_es_API.xml',
+ command = python_cmd + ' $SCRIPT -c es1 -m remap_table -f $SOURCE > $TARGET',
+ )
+ gles_headers += env.CodeGenerate(
+ target = 'main/api_exec_es1_remap_helper.h',
+ script = GLAPI + 'gen/remap_helper.py',
+ source = GLAPI + 'gen/gl_and_es_API.xml',
+ command = python_cmd + ' $SCRIPT -c es1 -f $SOURCE > $TARGET',
+ )
+
+ env.Depends(gles_sources, gles_headers)
+
+ # gles_sources #include gles_headers with full path
+ env.Append(CPPPATH = [gles_headers[0].dir.up().up()])
+
+ mesa_sources += gles_sources
+
+env.Append(CPPDEFINES = ["FEATURE_%s=1" % api for api in enabled_apis])
+
+get_hash_gen_opts = ' '.join(["-a %s" % api for api in enabled_apis])
+
+get_hash_header = env.CodeGenerate(
+ target = 'main/get_hash.h',
+ script = 'main/get_hash_generator.py',
+ source = GLAPI + 'gen/gl_and_es_API.xml',
+ command = python_cmd + ' $SCRIPT ' + get_hash_gen_opts +
+ ' -f $SOURCE > $TARGET'
+)
+
+env.Depends(glget_sources, get_hash_header)
+