1 #######################################################################
5 from sys import executable as python_cmd
11 env.Append(CPPDEFINES = [
15 if env['platform'] == 'windows':
16 env.Append(CPPDEFINES = [
17 '_GDI32_', # prevent gl* being declared __declspec(dllimport) in MS headers
18 'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers
21 env.Append(CPPDEFINES = ['_GLAPI_DLL_EXPORTS'])
23 # prevent _glapi_* from being declared __declspec(dllimport)
24 env.Append(CPPDEFINES = ['_GLAPI_NO_EXPORTS'])
26 env.Append(CPPPATH = [
29 Dir('..'), # src/mapi build path
45 for s in mapi_sources:
46 o = env.SharedObject(s[:-2], '../' + s)
47 glapi_sources.append(o)
52 if env['gcc'] and env['platform'] not in ('cygwin', 'darwin', 'windows'):
53 GLAPI = '#src/mapi/glapi/'
55 if env['machine'] == 'x86':
56 env.Append(CPPDEFINES = [
63 target = 'glapi_x86.S',
64 script = GLAPI + 'gen/gl_x86_asm.py',
65 source = GLAPI + 'gen/gl_and_es_API.xml',
66 command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
68 elif env['machine'] == 'x86_64':
69 env.Append(CPPDEFINES = [
76 target = 'glapi_x86-64.S',
77 script = GLAPI + 'gen/gl_x86-64_asm.py',
78 source = GLAPI + 'gen/gl_and_es_API.xml',
79 command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
81 elif env['machine'] == 'sparc':
82 env.Append(CPPDEFINES = [
89 target = 'glapi_sparc.S',
90 script = GLAPI + 'gen/gl_SPARC_asm.py',
91 source = GLAPI + 'gen/gl_and_es_API.xml',
92 command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
97 if env['toolchain'] == 'crossmingw':
98 # compile these files without -gstabs option
99 glapi_sources = env.compile_without_gstabs(glapi_sources, "glapi_dispatch.c")
100 glapi_sources = env.compile_without_gstabs(glapi_sources, "glapi_getproc.c")
102 glapi = env.ConvenienceLibrary(
104 source = glapi_sources,