SConscript revision 1.1.1.2 1 1.1 mrg Import('*')
2 1.1 mrg
3 1.1 mrg if not env['x11'] or not env['xcb'] or not env['drm']:
4 1.1 mrg Return()
5 1.1 mrg
6 1.1 mrg from sys import executable as python_cmd
7 1.1 mrg
8 1.1 mrg env = env.Clone()
9 1.1 mrg
10 1.1 mrg env.Prepend(CPPPATH = [
11 1.1 mrg '.', # the build/<platform>/glx/ directory
12 1.1 mrg '#include',
13 1.1 mrg '#include/GL/internal',
14 1.1.1.2 mrg '#src/',
15 1.1 mrg '#src/loader',
16 1.1 mrg '#src/mesa',
17 1.1 mrg '#src/mapi',
18 1.1 mrg '#src/mapi/glapi',
19 1.1 mrg #$(LIBDRM_CFLAGS)
20 1.1 mrg #$(DRI2PROTO_CFLAGS)
21 1.1 mrg #$(GLPROTO_CFLAGS)
22 1.1 mrg #$(X11_INCLUDES)
23 1.1 mrg ])
24 1.1 mrg
25 1.1 mrg env.Append(CPPDEFINES = [
26 1.1 mrg '_REENTRANT',
27 1.1 mrg ])
28 1.1 mrg
29 1.1 mrg env.Prepend(LIBS = [
30 1.1 mrg libloader,
31 1.1.1.2 mrg mesautil,
32 1.1 mrg glapi
33 1.1 mrg ])
34 1.1 mrg
35 1.1 mrg env.PkgUseModules('X11')
36 1.1 mrg env.PkgUseModules('XCB')
37 1.1 mrg env.PkgUseModules('DRM')
38 1.1.1.2 mrg env.PkgUseModules('XF86VIDMODE')
39 1.1 mrg
40 1.1 mrg sources = [
41 1.1 mrg 'clientattrib.c',
42 1.1 mrg 'clientinfo.c',
43 1.1 mrg 'create_context.c',
44 1.1 mrg 'compsize.c',
45 1.1 mrg 'eval.c',
46 1.1 mrg 'glx_error.c',
47 1.1 mrg 'glxconfig.c',
48 1.1 mrg 'glxcmds.c',
49 1.1 mrg 'glxcurrent.c',
50 1.1 mrg 'glxext.c',
51 1.1 mrg 'glxextensions.c',
52 1.1 mrg 'indirect_glx.c',
53 1.1 mrg 'indirect.c',
54 1.1 mrg 'indirect_init.c',
55 1.1 mrg 'indirect_size.c',
56 1.1 mrg 'indirect_window_pos.c',
57 1.1 mrg 'indirect_texture_compression.c',
58 1.1 mrg 'indirect_transpose_matrix.c',
59 1.1 mrg 'indirect_vertex_array.c',
60 1.1 mrg 'indirect_vertex_program.c',
61 1.1 mrg 'pixel.c',
62 1.1 mrg 'pixelstore.c',
63 1.1 mrg 'query_renderer.c',
64 1.1 mrg 'render2.c',
65 1.1 mrg 'renderpix.c',
66 1.1 mrg 'single2.c',
67 1.1 mrg 'singlepix.c',
68 1.1 mrg 'vertarr.c',
69 1.1 mrg 'xfont.c',
70 1.1 mrg 'glx_pbuffer.c',
71 1.1 mrg 'glx_query.c',
72 1.1 mrg 'drisw_glx.c',
73 1.1 mrg 'dri_common.c',
74 1.1 mrg 'dri_glx.c',
75 1.1 mrg 'XF86dri.c',
76 1.1 mrg 'glxhash.c',
77 1.1 mrg 'dri2_glx.c',
78 1.1 mrg 'dri2.c',
79 1.1.1.2 mrg 'dri_common_query_renderer.c',
80 1.1.1.2 mrg 'dri_common_interop.c',
81 1.1 mrg #'dri3_glx.c',
82 1.1 mrg 'applegl_glx.c',
83 1.1 mrg ]
84 1.1 mrg
85 1.1 mrg libgl = env.SharedLibrary(
86 1.1 mrg target ='GL',
87 1.1 mrg source = sources,
88 1.1 mrg )
89 1.1 mrg
90 1.1 mrg
91 1.1 mrg # Generate GLX-specific .c and .h files here. Other GL API-related
92 1.1 mrg # files are used, but they're generated in mapi/glapi/gen/ since they're
93 1.1 mrg # used by other targets as well.
94 1.1 mrg
95 1.1 mrg GLAPI = '#src/mapi/glapi/'
96 1.1 mrg sources = [GLAPI + 'gen/gl_API.xml'] + env.Glob(GLAPI + 'gen/*.xml')
97 1.1 mrg
98 1.1 mrg env.CodeGenerate(
99 1.1 mrg target = 'indirect.c',
100 1.1 mrg script = GLAPI + 'gen/glX_proto_send.py',
101 1.1 mrg source = sources,
102 1.1 mrg command = python_cmd + ' $SCRIPT -f $SOURCE -m proto > $TARGET'
103 1.1 mrg )
104 1.1 mrg
105 1.1 mrg env.CodeGenerate(
106 1.1.1.2 mrg target = 'indirect_size.c',
107 1.1 mrg script = GLAPI + 'gen/glX_proto_size.py',
108 1.1 mrg source = sources,
109 1.1 mrg command = python_cmd + ' $SCRIPT -f $SOURCE -m size_c --only-set > $TARGET'
110 1.1 mrg )
111 1.1 mrg
112 1.1 mrg env.CodeGenerate(
113 1.1.1.2 mrg target = 'indirect_init.c',
114 1.1 mrg script = GLAPI + 'gen/glX_proto_send.py',
115 1.1 mrg source = sources,
116 1.1 mrg command = python_cmd + ' $SCRIPT -f $SOURCE -m init_c > $TARGET'
117 1.1 mrg )
118 1.1 mrg
119 1.1 mrg env.CodeGenerate(
120 1.1 mrg target = 'indirect_size.h',
121 1.1 mrg script = GLAPI + 'gen/glX_proto_size.py',
122 1.1 mrg source = sources,
123 1.1.1.2 mrg command = python_cmd + ' $SCRIPT -f $SOURCE -m size_h --only-set --header-tag _INDIRECT_SIZE_H > $TARGET'
124 1.1 mrg )
125 1.1 mrg
126 1.1 mrg env.CodeGenerate(
127 1.1 mrg target = 'indirect.h',
128 1.1 mrg script = GLAPI + 'gen/glX_proto_send.py',
129 1.1 mrg source = sources,
130 1.1 mrg command = python_cmd + ' $SCRIPT -m init_h -f $SOURCE > $TARGET',
131 1.1 mrg )
132 1.1 mrg
133 1.1 mrg
134 1.1 mrg libgl = env.InstallSharedLibrary(libgl, version=(1, 2))
135 1.1 mrg
136 1.1 mrg env.Alias('glx', libgl)
137 1.1 mrg env.Alias('libgl', libgl)
138