summaryrefslogtreecommitdiff
path: root/src/mapi/glapi/SConscript
blob: 40db237fcbcd5d054857664b2a98ca5d800972a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#######################################################################
# SConscript for glapi


Import('*')

if env['platform'] != 'winddk':

	env = env.Clone()
	
	env.Append(CPPDEFINES = [
		'MAPI_GLAPI_CURRENT',
	])

	if env['platform'] == 'windows':
		env.Append(CPPDEFINES = [
			'_GDI32_', # prevent gl* being declared __declspec(dllimport) in MS headers
			'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers
			'WIN32_THREADS', # use Win32 thread API
		])

	env.Append(CPPPATH = [
		'#/src/mapi',
		'#/src/mesa',
	])
	
	glapi_sources = [
		'glapi_dispatch.c',
		'glapi_entrypoint.c',
		'glapi_getproc.c',
		'glapi_nop.c',
		'glthread.c',
	]
	
	mapi_sources = [
		'u_current.c',
		'u_execmem.c',
		'u_thread.c',
	]
	for s in mapi_sources:
		o = env.SharedObject(s[:-2], '../mapi/' + s)
		glapi_sources.append(o)

	#
	# Assembly sources
	#
	if gcc and env['machine'] == 'x86':
		env.Append(CPPDEFINES = [
			'USE_X86_ASM', 
			'USE_MMX_ASM',
			'USE_3DNOW_ASM',
			'USE_SSE_ASM',
		])
		glapi_sources += [
			'glapi_x86.S',
		]
	elif gcc and env['machine'] == 'x86_64':
		env.Append(CPPDEFINES = [
			'USE_X86_64_ASM', 
		])
		glapi_sources += [
			'glapi_x86-64.S'
		]
	elif gcc and env['machine'] == 'ppc':
		env.Append(CPPDEFINES = [
			'USE_PPC_ASM', 
			'USE_VMX_ASM', 
		])
		glapi_sources += [
		]
	elif gcc and env['machine'] == 'sparc':
		glapi_sources += [
			'glapi_sparc.S'
		]
	else:
		pass
	
	glapi = env.ConvenienceLibrary(
		target = 'glapi',
		source = glapi_sources,
	)
	Export('glapi')