glthread: don't prefix variable_data with const
[mesa.git] / src / mapi / glapi / SConscript
1 #######################################################################
2 # SConscript for glapi
3
4
5 from sys import executable as python_cmd
6
7 Import('*')
8
9 env = env.Clone()
10
11 env.MSVC2013Compat()
12
13 env.Append(CPPDEFINES = [
14 'MAPI_MODE_UTIL',
15 ])
16
17 if env['platform'] == 'windows':
18 env.Append(CPPDEFINES = [
19 '_GDI32_', # prevent gl* being declared __declspec(dllimport) in MS headers
20 'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers
21 'KHRONOS_DLL_EXPORTS', # declare gl* as __declspec(dllexport) in Khronos headers
22 '_GLAPI_NO_EXPORTS', # prevent _glapi_* from being declared __declspec(dllimport)
23 ])
24
25 env.Append(CPPPATH = [
26 '#/src',
27 '#/src/mapi',
28 '#/src/mesa',
29 Dir('.'), # src/mapi/glapi build path
30 Dir('gen'), # src/mapi/glapi/gen build path
31 ])
32
33 glapi_sources = [
34 'glapi_dispatch.c',
35 'glapi_entrypoint.c',
36 'glapi_getproc.c',
37 'glapi_nop.c',
38 'glapi.c',
39 ]
40
41 mapi_sources = [
42 'u_current.c',
43 'u_execmem.c',
44 ]
45 for s in mapi_sources:
46 o = env.SharedObject(s[:-2], '../' + s)
47 glapi_sources.append(o)
48
49 #
50 # Assembly sources
51 #
52 if env['platform'] not in ('cygwin', 'darwin', 'windows'):
53 GLAPI = '#src/mapi/glapi/'
54 sources = [GLAPI + 'gen/gl_and_es_API.xml'] + env.Glob(GLAPI + 'gen/*.xml')
55
56 if env['machine'] == 'x86':
57 env.Append(CPPDEFINES = [
58 'USE_X86_ASM',
59 ])
60 glapi_sources += [
61 'glapi_x86.S',
62 ]
63 env.CodeGenerate(
64 target = 'glapi_x86.S',
65 script = GLAPI + 'gen/gl_x86_asm.py',
66 source = sources,
67 command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
68 )
69 elif env['machine'] == 'x86_64':
70 env.Append(CPPDEFINES = [
71 'USE_X86_64_ASM',
72 ])
73 glapi_sources += [
74 'glapi_x86-64.S'
75 ]
76 env.CodeGenerate(
77 target = 'glapi_x86-64.S',
78 script = GLAPI + 'gen/gl_x86-64_asm.py',
79 source = sources,
80 command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
81 )
82 elif env['machine'] == 'sparc':
83 env.Append(CPPDEFINES = [
84 'USE_SPARC_ASM',
85 ])
86 glapi_sources += [
87 'glapi_sparc.S'
88 ]
89 env.CodeGenerate(
90 target = 'glapi_sparc.S',
91 script = GLAPI + 'gen/gl_SPARC_asm.py',
92 source = sources,
93 command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET'
94 )
95 else:
96 pass
97
98 glapi = env.ConvenienceLibrary(
99 target = 'glapi',
100 source = glapi_sources,
101 )
102 Export('glapi')