1 echo "building opengl related common components-->"
2 #===============================================================================
3 mkdir
-p $build_dir/src
/mesa
4 #-------------------------------------------------------------------------------
5 # filenames should be different since we build in one directory
6 libmesa_common_c_pathnames
="\
7 $build_dir/src/mesa/format_fallback.c \
8 $build_dir/src/mesa/program/lex.yy.c \
9 $build_dir/src/mesa/program/program_parse.tab.c \
10 $build_dir/src/mapi/glapi/api_exec_init.c \
11 $build_dir/src/mapi/glapi/enums.c \
12 $build_dir/src/mapi/glapi/marshal_generated0.c \
13 $build_dir/src/mapi/glapi/marshal_generated1.c \
14 $build_dir/src/mapi/glapi/marshal_generated2.c \
15 $build_dir/src/mapi/glapi/marshal_generated3.c \
16 $build_dir/src/mapi/glapi/marshal_generated4.c \
17 $build_dir/src/mapi/glapi/marshal_generated5.c \
18 $build_dir/src/mapi/glapi/marshal_generated6.c \
19 $build_dir/src/mapi/glapi/marshal_generated7.c \
20 $build_dir/src/mapi/glapi/unmarshal_table.c \
21 $src_dir/src/mesa/program/arbprogparse.c \
22 $src_dir/src/mesa/program/prog_cache.c \
23 $src_dir/src/mesa/program/prog_instruction.c \
24 $src_dir/src/mesa/program/prog_parameter.c \
25 $src_dir/src/mesa/program/prog_parameter_layout.c \
26 $src_dir/src/mesa/program/prog_print.c \
27 $src_dir/src/mesa/program/program.c \
28 $src_dir/src/mesa/program/program_parse_extra.c \
29 $src_dir/src/mesa/program/prog_statevars.c \
30 $src_dir/src/mesa/program/symbol_table.c \
31 $src_dir/src/mesa/program/prog_to_nir.c \
32 $src_dir/src/mesa/main/accum.c \
33 $src_dir/src/mesa/main/api_arrayelt.c \
34 $src_dir/src/mesa/main/arbprogram.c \
35 $src_dir/src/mesa/main/arrayobj.c \
36 $src_dir/src/mesa/main/atifragshader.c \
37 $src_dir/src/mesa/main/attrib.c \
38 $src_dir/src/mesa/main/barrier.c \
39 $src_dir/src/mesa/main/bbox.c \
40 $src_dir/src/mesa/main/blend.c \
41 $src_dir/src/mesa/main/blit.c \
42 $src_dir/src/mesa/main/bufferobj.c \
43 $src_dir/src/mesa/main/buffers.c \
44 $src_dir/src/mesa/main/clear.c \
45 $src_dir/src/mesa/main/clip.c \
46 $src_dir/src/mesa/main/compute.c \
47 $src_dir/src/mesa/main/condrender.c \
48 $src_dir/src/mesa/main/conservativeraster.c \
49 $src_dir/src/mesa/main/context.c \
50 $src_dir/src/mesa/main/copyimage.c \
51 $src_dir/src/mesa/main/debug.c \
52 $src_dir/src/mesa/main/debug_output.c \
53 $src_dir/src/mesa/main/depth.c \
54 $src_dir/src/mesa/main/dlist.c \
55 $src_dir/src/mesa/main/draw.c \
56 $src_dir/src/mesa/main/drawpix.c \
57 $src_dir/src/mesa/main/drawtex.c \
58 $src_dir/src/mesa/main/draw_validate.c \
59 $src_dir/src/mesa/main/enable.c \
60 $src_dir/src/mesa/main/errors.c \
61 $src_dir/src/mesa/main/eval.c \
62 $src_dir/src/mesa/main/extensions.c \
63 $src_dir/src/mesa/main/extensions_table.c \
64 $src_dir/src/mesa/main/externalobjects.c \
65 $src_dir/src/mesa/main/fbobject.c \
66 $src_dir/src/mesa/main/feedback.c \
67 $src_dir/src/mesa/main/ff_fragment_shader.c \
68 $src_dir/src/mesa/main/ffvertex_prog.c \
69 $src_dir/src/mesa/main/fog.c \
70 $src_dir/src/mesa/main/formatquery.c \
71 $src_dir/src/mesa/main/formats.c \
72 $src_dir/src/mesa/main/format_utils.c \
73 $src_dir/src/mesa/main/framebuffer.c \
74 $src_dir/src/mesa/main/get.c \
75 $src_dir/src/mesa/main/genmipmap.c \
76 $src_dir/src/mesa/main/getstring.c \
77 $src_dir/src/mesa/main/glformats.c \
78 $src_dir/src/mesa/main/glspirv.c \
79 $src_dir/src/mesa/main/glthread.c \
80 $src_dir/src/mesa/main/glthread_bufferobj.c \
81 $src_dir/src/mesa/main/glthread_draw.c \
82 $src_dir/src/mesa/main/glthread_draw_unroll.c \
83 $src_dir/src/mesa/main/glthread_get.c \
84 $src_dir/src/mesa/main/glthread_list.c \
85 $src_dir/src/mesa/main/glthread_pixels.c \
86 $src_dir/src/mesa/main/glthread_shaderobj.c \
87 $src_dir/src/mesa/main/glthread_varray.c \
88 $src_dir/src/mesa/main/hash.c \
89 $src_dir/src/mesa/main/hint.c \
90 $src_dir/src/mesa/main/image.c \
91 $src_dir/src/mesa/main/light.c \
92 $src_dir/src/mesa/main/lines.c \
93 $src_dir/src/mesa/main/matrix.c \
94 $src_dir/src/mesa/main/mipmap.c \
95 $src_dir/src/mesa/main/multisample.c \
96 $src_dir/src/mesa/main/objectlabel.c \
97 $src_dir/src/mesa/main/pack.c \
98 $src_dir/src/mesa/main/pbo.c \
99 $src_dir/src/mesa/main/performance_monitor.c \
100 $src_dir/src/mesa/main/performance_query.c \
101 $src_dir/src/mesa/main/pipelineobj.c \
102 $src_dir/src/mesa/main/pixel.c \
103 $src_dir/src/mesa/main/pixelstore.c \
104 $src_dir/src/mesa/main/pixeltransfer.c \
105 $src_dir/src/mesa/main/points.c \
106 $src_dir/src/mesa/main/polygon.c \
107 $src_dir/src/mesa/main/program_binary.c \
108 $src_dir/src/mesa/main/program_resource.c \
109 $src_dir/src/mesa/main/querymatrix.c \
110 $src_dir/src/mesa/main/queryobj.c \
111 $src_dir/src/mesa/main/rastpos.c \
112 $src_dir/src/mesa/main/readpix.c \
113 $src_dir/src/mesa/main/remap.c \
114 $src_dir/src/mesa/main/renderbuffer.c \
115 $src_dir/src/mesa/main/robustness.c \
116 $src_dir/src/mesa/main/samplerobj.c \
117 $src_dir/src/mesa/main/scissor.c \
118 $src_dir/src/mesa/main/shaderapi.c \
119 $src_dir/src/mesa/main/shaderimage.c \
120 $src_dir/src/mesa/main/shaderobj.c \
121 $src_dir/src/mesa/main/shared.c \
122 $src_dir/src/mesa/main/spirv_capabilities.c \
123 $src_dir/src/mesa/main/spirv_extensions.c \
124 $src_dir/src/mesa/main/state.c \
125 $src_dir/src/mesa/main/stencil.c \
126 $src_dir/src/mesa/main/syncobj.c \
127 $src_dir/src/mesa/main/texcompress.c \
128 $src_dir/src/mesa/main/texcompress_bptc.c \
129 $src_dir/src/mesa/main/texcompress_cpal.c \
130 $src_dir/src/mesa/main/texcompress_etc.c \
131 $src_dir/src/mesa/main/texcompress_fxt1.c \
132 $src_dir/src/mesa/main/texcompress_rgtc.c \
133 $src_dir/src/mesa/main/texcompress_s3tc.c \
134 $src_dir/src/mesa/main/texenv.c \
135 $src_dir/src/mesa/main/texenvprogram.h \
136 $src_dir/src/mesa/main/texgen.c \
137 $src_dir/src/mesa/main/texgetimage.c \
138 $src_dir/src/mesa/main/teximage.c \
139 $src_dir/src/mesa/main/texobj.c \
140 $src_dir/src/mesa/main/texparam.c \
141 $src_dir/src/mesa/main/texstate.c \
142 $src_dir/src/mesa/main/texstorage.c \
143 $src_dir/src/mesa/main/texstore.c \
144 $src_dir/src/mesa/main/texturebindless.c \
145 $src_dir/src/mesa/main/textureview.c \
146 $src_dir/src/mesa/main/transformfeedback.c \
147 $src_dir/src/mesa/main/uniforms.c \
148 $src_dir/src/mesa/main/varray.c \
149 $src_dir/src/mesa/main/vdpau.c \
150 $src_dir/src/mesa/main/version.c \
151 $src_dir/src/mesa/main/viewport.c \
152 $src_dir/src/mesa/main/es1_conversion.c \
153 $src_dir/src/mesa/math/m_eval.c \
154 $src_dir/src/mesa/math/m_matrix.c \
155 $src_dir/src/mesa/vbo/vbo_context.c \
156 $src_dir/src/mesa/vbo/vbo_exec_api.c \
157 $src_dir/src/mesa/vbo/vbo_exec.c \
158 $src_dir/src/mesa/vbo/vbo_exec_draw.c \
159 $src_dir/src/mesa/vbo/vbo_exec_eval.c \
160 $src_dir/src/mesa/vbo/vbo_minmax_index.c \
161 $src_dir/src/mesa/vbo/vbo_noop.c \
162 $src_dir/src/mesa/vbo/vbo_save_api.c \
163 $src_dir/src/mesa/vbo/vbo_save.c \
164 $src_dir/src/mesa/vbo/vbo_save_draw.c \
165 $src_dir/src/mesa/vbo/vbo_save_loopback.c \
167 # from the trashiest and toxiciest coders
168 libmesa_common_cxx_pathnames
="\
169 $src_dir/src/mesa/main/shader_query.cpp \
170 $src_dir/src/mesa/main/texcompress_astc.cpp \
171 $src_dir/src/mesa/main/uniform_query.cpp \
173 libmesa_gallium_c_pathnames
="\
174 $src_dir/src/mesa/state_tracker/st_atifs_to_nir.c \
175 $src_dir/src/mesa/state_tracker/st_atom_atomicbuf.c \
176 $src_dir/src/mesa/state_tracker/st_atom_blend.c \
177 $src_dir/src/mesa/state_tracker/st_atom_clip.c \
178 $src_dir/src/mesa/state_tracker/st_atom_constbuf.c \
179 $src_dir/src/mesa/state_tracker/st_atom_depth.c \
180 $src_dir/src/mesa/state_tracker/st_atom_framebuffer.c \
181 $src_dir/src/mesa/state_tracker/st_atom_image.c \
182 $src_dir/src/mesa/state_tracker/st_atom_msaa.c \
183 $src_dir/src/mesa/state_tracker/st_atom_pixeltransfer.c \
184 $src_dir/src/mesa/state_tracker/st_atom_rasterizer.c \
185 $src_dir/src/mesa/state_tracker/st_atom_sampler.c \
186 $src_dir/src/mesa/state_tracker/st_atom_scissor.c \
187 $src_dir/src/mesa/state_tracker/st_atom_shader.c \
188 $src_dir/src/mesa/state_tracker/st_atom_stipple.c \
189 $src_dir/src/mesa/state_tracker/st_atom_storagebuf.c \
190 $src_dir/src/mesa/state_tracker/st_atom_tess.c \
191 $src_dir/src/mesa/state_tracker/st_atom_texture.c \
192 $src_dir/src/mesa/state_tracker/st_atom_viewport.c \
193 $src_dir/src/mesa/state_tracker/st_cb_bitmap.c \
194 $src_dir/src/mesa/state_tracker/st_cb_clear.c \
195 $src_dir/src/mesa/state_tracker/st_cb_copyimage.c \
196 $src_dir/src/mesa/state_tracker/st_cb_drawpixels.c \
197 $src_dir/src/mesa/state_tracker/st_cb_drawtex.c \
198 $src_dir/src/mesa/state_tracker/st_cb_eglimage.c \
199 $src_dir/src/mesa/state_tracker/st_cb_feedback.c \
200 $src_dir/src/mesa/state_tracker/st_cb_flush.c \
201 $src_dir/src/mesa/state_tracker/st_cb_rasterpos.c \
202 $src_dir/src/mesa/state_tracker/st_cb_readpixels.c \
203 $src_dir/src/mesa/state_tracker/st_cb_texture.c \
204 $src_dir/src/mesa/state_tracker/st_context.c \
205 $src_dir/src/mesa/state_tracker/st_copytex.c \
206 $src_dir/src/mesa/state_tracker/st_debug.c \
207 $src_dir/src/mesa/state_tracker/st_draw.c \
208 $src_dir/src/mesa/state_tracker/st_draw_feedback.c \
209 $src_dir/src/mesa/state_tracker/st_draw_hw_select.c \
210 $src_dir/src/mesa/state_tracker/st_extensions.c \
211 $src_dir/src/mesa/state_tracker/st_format.c \
212 $src_dir/src/mesa/state_tracker/st_gen_mipmap.c \
213 $src_dir/src/mesa/state_tracker/st_interop.c \
214 $src_dir/src/mesa/state_tracker/st_manager.c \
215 $src_dir/src/mesa/state_tracker/st_nir_builtins.c \
216 $src_dir/src/mesa/state_tracker/st_nir_lower_builtin.c \
217 $src_dir/src/mesa/state_tracker/st_nir_lower_fog.c \
218 $src_dir/src/mesa/state_tracker/st_nir_lower_position_invariant.c \
219 $src_dir/src/mesa/state_tracker/st_nir_lower_tex_src_plane.c \
220 $src_dir/src/mesa/state_tracker/st_pbo.c \
221 $src_dir/src/mesa/state_tracker/st_pbo_compute.c \
222 $src_dir/src/mesa/state_tracker/st_program.c \
223 $src_dir/src/mesa/state_tracker/st_sampler_view.c \
224 $src_dir/src/mesa/state_tracker/st_scissor.c \
225 $src_dir/src/mesa/state_tracker/st_shader_cache.c \
226 $src_dir/src/mesa/state_tracker/st_texcompress_compute.c \
227 $src_dir/src/mesa/state_tracker/st_texture.c \
228 $src_dir/src/mesa/state_tracker/st_vdpau.c \
231 libmesa_gallium_cxx_pathnames
="\
232 $src_dir/src/mesa/state_tracker/st_atom_array.cpp \
233 $src_dir/src/mesa/state_tracker/st_glsl_to_nir.cpp \
235 #-------------------------------------------------------------------------------
236 for src_pathname
in $libmesa_common_c_pathnames $libmesa_gallium_c_pathnames
238 cpp_filename
=$
(basename $src_pathname .c
).cpp.c
239 printf "CPP $src_pathname --> $build_dir/src/mesa/$cpp_filename\n"
240 $cpp $src_pathname -o $build_dir/src
/mesa
/$cpp_filename \
241 -I$cc_internal_fixed_incdir \
242 -I$cc_internal_incdir \
246 -I$build_dir/src
/compiler
/nir \
247 -I$src_dir/src
/compiler
/nir \
248 -I$build_dir/src
/compiler \
249 -I$src_dir/src
/compiler \
250 -I$build_dir/src
/gallium
/auxiliary \
251 -I$src_dir/src
/gallium
/auxiliary \
252 -I$build_dir/src
/gallium
/include \
253 -I$src_dir/src
/gallium
/include \
254 -I$build_dir/src
/mesa
/main \
255 -I$src_dir/src
/mesa
/main \
256 -I$build_dir/src
/mesa \
257 -I$src_dir/src
/mesa \
258 -I$build_dir/src
/mapi
/glapi \
259 -I$src_dir/src
/mapi
/glapi \
260 -I$build_dir/src
/mapi \
261 -I$src_dir/src
/mapi \
262 -I$build_dir/src
/util \
263 -I$src_dir/src
/util \
266 -I$build_dir/include \
269 $syslib_cpp_flags_defs \
270 $linux_cpp_flags_defs \
271 $cc_builtins_cpp_flags_defs \
272 $cc_attributes_cpp_flags_defs \
273 $mesa_cpp_flags_defs \
275 $external_deps_cpp_flags &
277 #-------------------------------------------------------------------------------
279 #------------------------------------------------------------------------------
280 for src_pathname
in $libmesa_common_c_pathnames $libmesa_gallium_c_pathnames
282 cpp_filename
=$
(basename $src_pathname .c
).cpp.c
283 asm_filename
=$
(basename $src_pathname .c
).cpp.c.s
284 printf "CC_S $build_dir/src/mesa/$cpp_filename --> $build_dir/src/mesa/$asm_filename\n"
285 $cc_s $build_dir/src
/mesa
/$cpp_filename -o $build_dir/src
/mesa
/$asm_filename &
287 #------------------------------------------------------------------------------
289 #------------------------------------------------------------------------------
291 for src_pathname
in $libmesa_common_c_pathnames $libmesa_gallium_c_pathnames
293 asm_filename
=$
(basename $src_pathname .c
).cpp.c.s
294 o_filename
=$
(basename $src_pathname .c
).cpp.c.s.o
295 os
="$os $build_dir/src/mesa/$o_filename"
296 printf "AS $build_dir/src/mesa/$asm_filename --> $build_dir/src/mesa/$o_filename\n"
297 $as $build_dir/src
/mesa
/$asm_filename -o $build_dir/src
/mesa
/$o_filename &
299 #===============================================================================
300 for src_pathname
in $libmesa_common_cxx_pathnames $libmesa_gallium_cxx_pathnames
302 cxxpp_filename
=$
(basename $src_pathname .cpp
).cpp.cxx
303 printf "CXXPP $src_pathname --> $build_dir/src/mesa/$cxxpp_filename\n"
304 $cxxpp $src_pathname -o $build_dir/src
/mesa
/$cxxpp_filename \
305 -I$cc_internal_fixed_incdir \
306 -I$cc_internal_incdir \
307 -I$cxx_internal_incdir \
311 -I$build_dir/src
/compiler
/glsl \
312 -I$src_dir/src
/compiler
/glsl \
313 -I$build_dir/src
/compiler
/nir \
314 -I$src_dir/src
/compiler
/nir \
315 -I$build_dir/src
/compiler \
316 -I$src_dir/src
/compiler \
317 -I$build_dir/src
/gallium
/auxiliary \
318 -I$src_dir/src
/gallium
/auxiliary \
319 -I$build_dir/src
/gallium
/include \
320 -I$src_dir/src
/gallium
/include \
321 -I$build_dir/src
/mapi
/glapi \
322 -I$src_dir/src
/mapi
/glapi \
323 -I$build_dir/src
/mapi \
324 -I$src_dir/src
/mapi \
325 -I$build_dir/src
/mesa \
326 -I$src_dir/src
/mesa \
329 -I$build_dir/include \
332 $syslib_cpp_flags_defs \
333 $linux_cpp_flags_defs \
334 $cc_builtins_cpp_flags_defs \
335 $cc_attributes_cpp_flags_defs \
336 $mesa_cpp_flags_defs \
338 $external_deps_cpp_flags &
340 #------------------------------------------------------------------------------
342 #------------------------------------------------------------------------------
343 for src_pathname
in $libmesa_common_cxx_pathnames $libmesa_gallium_cxx_pathnames
345 cxxpp_filename
=$
(basename $src_pathname .cpp
).cpp.cxx
346 asm_filename
=$
(basename $src_pathname .cpp
).cpp.cxx.s
347 printf "CXX_S $build_dir/src/mesa/$cxxpp_filename --> $build_dir/src/mesa/$asm_filename\n"
348 $cxx_s $build_dir/src
/mesa
/$cxxpp_filename -o $build_dir/src
/mesa
/$asm_filename &
350 #------------------------------------------------------------------------------
352 #------------------------------------------------------------------------------
354 for src_pathname
in $libmesa_common_cxx_pathnames $libmesa_gallium_cxx_pathnames
356 asm_filename
=$
(basename $src_pathname .cpp
).cpp.cxx.s
357 o_filename
=$
(basename $src_pathname .cpp
).cpp.cxx.s.o
358 os
="$os $build_dir/src/mesa/$o_filename"
359 printf "AS $build_dir/src/mesa/$asm_filename --> $build_dir/src/mesa/$o_filename\n"
360 $as $build_dir/src
/mesa
/$asm_filename -o $build_dir/src
/mesa
/$o_filename &
362 #------------------------------------------------------------------------------
363 #===============================================================================
365 #===============================================================================
366 printf "AR RCS $build_dir/libmesa_gallium.a $os\n"
367 $ar_rcs $build_dir/libmesa_gallium.a
$os &
368 #===============================================================================
369 echo "<--opengl related common components built"