scons: Make LLVM a black-white dependency.
[mesa.git] / src / gallium / auxiliary / SConscript
1 Import('*')
2
3 from sys import executable as python_cmd
4
5 env.Append(CPPPATH = [
6 'indices',
7 'util',
8 ])
9
10 env.Tool('udis86')
11
12 env.CodeGenerate(
13 target = 'indices/u_indices_gen.c',
14 script = 'indices/u_indices_gen.py',
15 source = [],
16 command = python_cmd + ' $SCRIPT > $TARGET'
17 )
18
19 env.CodeGenerate(
20 target = 'indices/u_unfilled_gen.c',
21 script = 'indices/u_unfilled_gen.py',
22 source = [],
23 command = python_cmd + ' $SCRIPT > $TARGET'
24 )
25
26 env.CodeGenerate(
27 target = 'util/u_format_srgb.c',
28 script = 'util/u_format_srgb.py',
29 source = [],
30 command = python_cmd + ' $SCRIPT > $TARGET'
31 )
32
33 env.CodeGenerate(
34 target = 'util/u_format_table.c',
35 script = 'util/u_format_table.py',
36 source = ['util/u_format.csv'],
37 command = 'python $SCRIPT $SOURCE > $TARGET'
38 )
39
40 env.CodeGenerate(
41 target = 'util/u_half.c',
42 script = 'util/u_half.py',
43 source = [],
44 command = 'python $SCRIPT > $TARGET'
45 )
46
47 env.Depends('util/u_format_table.c', [
48 'util/u_format_parse.py',
49 'util/u_format_pack.py',
50 ])
51
52 source = [
53 'cso_cache/cso_context.c',
54 'cso_cache/cso_cache.c',
55 'cso_cache/cso_hash.c',
56 'draw/draw_context.c',
57 'draw/draw_pipe.c',
58 'draw/draw_pipe_aaline.c',
59 'draw/draw_pipe_aapoint.c',
60 'draw/draw_pipe_clip.c',
61 'draw/draw_pipe_cull.c',
62 'draw/draw_pipe_flatshade.c',
63 'draw/draw_pipe_offset.c',
64 'draw/draw_pipe_pstipple.c',
65 'draw/draw_pipe_stipple.c',
66 'draw/draw_pipe_twoside.c',
67 'draw/draw_pipe_unfilled.c',
68 'draw/draw_pipe_util.c',
69 'draw/draw_pipe_validate.c',
70 'draw/draw_pipe_vbuf.c',
71 'draw/draw_pipe_wide_line.c',
72 'draw/draw_pipe_wide_point.c',
73 'draw/draw_pt.c',
74 'draw/draw_pt_elts.c',
75 'draw/draw_pt_emit.c',
76 'draw/draw_pt_fetch.c',
77 'draw/draw_pt_fetch_emit.c',
78 'draw/draw_pt_fetch_shade_emit.c',
79 'draw/draw_pt_fetch_shade_pipeline.c',
80 'draw/draw_pt_post_vs.c',
81 'draw/draw_pt_util.c',
82 'draw/draw_pt_varray.c',
83 'draw/draw_pt_vcache.c',
84 'draw/draw_vertex.c',
85 'draw/draw_vs.c',
86 'draw/draw_vs_aos.c',
87 'draw/draw_vs_aos_io.c',
88 'draw/draw_vs_aos_machine.c',
89 'draw/draw_vs_exec.c',
90 'draw/draw_vs_llvm.c',
91 'draw/draw_vs_ppc.c',
92 'draw/draw_vs_sse.c',
93 'draw/draw_vs_varient.c',
94 'draw/draw_gs.c',
95 #'indices/u_indices.c',
96 #'indices/u_unfilled_indices.c',
97 'indices/u_indices_gen.c',
98 'indices/u_unfilled_gen.c',
99 'os/os_misc.c',
100 'os/os_stream_log.c',
101 'os/os_stream_stdc.c',
102 'os/os_stream_str.c',
103 'os/os_stream_null.c',
104 'os/os_time.c',
105 'pipebuffer/pb_buffer_fenced.c',
106 'pipebuffer/pb_buffer_malloc.c',
107 'pipebuffer/pb_bufmgr_alt.c',
108 'pipebuffer/pb_bufmgr_cache.c',
109 'pipebuffer/pb_bufmgr_debug.c',
110 'pipebuffer/pb_bufmgr_mm.c',
111 'pipebuffer/pb_bufmgr_ondemand.c',
112 'pipebuffer/pb_bufmgr_pool.c',
113 'pipebuffer/pb_bufmgr_slab.c',
114 'pipebuffer/pb_validate.c',
115 'rbug/rbug_core.c',
116 'rbug/rbug_shader.c',
117 'rbug/rbug_context.c',
118 'rbug/rbug_texture.c',
119 'rbug/rbug_demarshal.c',
120 'rbug/rbug_connection.c',
121 'rtasm/rtasm_cpu.c',
122 'rtasm/rtasm_execmem.c',
123 'rtasm/rtasm_x86sse.c',
124 'rtasm/rtasm_ppc.c',
125 'rtasm/rtasm_ppc_spe.c',
126 'tgsi/tgsi_build.c',
127 'tgsi/tgsi_dump.c',
128 'tgsi/tgsi_exec.c',
129 'tgsi/tgsi_info.c',
130 'tgsi/tgsi_iterate.c',
131 'tgsi/tgsi_parse.c',
132 'tgsi/tgsi_sanity.c',
133 'tgsi/tgsi_scan.c',
134 'tgsi/tgsi_ppc.c',
135 'tgsi/tgsi_sse2.c',
136 'tgsi/tgsi_text.c',
137 'tgsi/tgsi_transform.c',
138 'tgsi/tgsi_ureg.c',
139 'tgsi/tgsi_util.c',
140 'translate/translate_generic.c',
141 'translate/translate_sse.c',
142 'translate/translate.c',
143 'translate/translate_cache.c',
144 'util/u_bitmask.c',
145 'util/u_blit.c',
146 'util/u_blitter.c',
147 'util/u_cache.c',
148 'util/u_cpu_detect.c',
149 'util/u_debug.c',
150 'util/u_debug_memory.c',
151 'util/u_debug_stack.c',
152 'util/u_debug_symbol.c',
153 'util/u_dump_defines.c',
154 'util/u_dump_state.c',
155 'util/u_dl.c',
156 'util/u_draw_quad.c',
157 'util/u_format.c',
158 'util/u_format_other.c',
159 'util/u_format_s3tc.c',
160 'util/u_format_srgb.c',
161 'util/u_format_table.c',
162 'util/u_format_tests.c',
163 'util/u_format_yuv.c',
164 'util/u_format_zs.c',
165 'util/u_gen_mipmap.c',
166 'util/u_half.c',
167 'util/u_handle_table.c',
168 'util/u_hash.c',
169 'util/u_hash_table.c',
170 'util/u_keymap.c',
171 'util/u_network.c',
172 'util/u_math.c',
173 'util/u_mm.c',
174 'util/u_rect.c',
175 'util/u_resource.c',
176 'util/u_ringbuffer.c',
177 'util/u_sampler.c',
178 'util/u_simple_shaders.c',
179 'util/u_snprintf.c',
180 'util/u_surface.c',
181 'util/u_texture.c',
182 'util/u_tile.c',
183 'util/u_transfer.c',
184 'util/u_upload_mgr.c',
185 # Disabling until pipe-video branch gets merged in
186 #'vl/vl_bitstream_parser.c',
187 #'vl/vl_mpeg12_mc_renderer.c',
188 #'vl/vl_compositor.c',
189 #'vl/vl_csc.c',
190 #'vl/vl_shader_build.c',
191 'target-helpers/wrap_screen.c',
192 ]
193
194 if env['llvm']:
195 source += [
196 'gallivm/lp_bld_alpha.c',
197 'gallivm/lp_bld_arit.c',
198 'gallivm/lp_bld_blend_aos.c',
199 'gallivm/lp_bld_blend_logicop.c',
200 'gallivm/lp_bld_blend_soa.c',
201 'gallivm/lp_bld_const.c',
202 'gallivm/lp_bld_conv.c',
203 'gallivm/lp_bld_debug.c',
204 'gallivm/lp_bld_depth.c',
205 'gallivm/lp_bld_flow.c',
206 'gallivm/lp_bld_format_soa.c',
207 'gallivm/lp_bld_interp.c',
208 'gallivm/lp_bld_intr.c',
209 'gallivm/lp_bld_logic.c',
210 'gallivm/lp_bld_init.c',
211 'gallivm/lp_bld_pack.c',
212 'gallivm/lp_bld_printf.c',
213 'gallivm/lp_bld_sample.c',
214 'gallivm/lp_bld_sample_soa.c',
215 'gallivm/lp_bld_struct.c',
216 'gallivm/lp_bld_swizzle.c',
217 'gallivm/lp_bld_tgsi_soa.c',
218 'gallivm/lp_bld_type.c',
219 'draw/draw_llvm.c',
220 'draw/draw_pt_fetch_shade_pipeline_llvm.c',
221 'draw/draw_llvm_translate.c'
222 ]
223
224 gallium = env.ConvenienceLibrary(
225 target = 'gallium',
226 source = source,
227 )
228
229 Export('gallium')