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