Import('*')
if not env['llvm']:
- print 'warning: LLVM disabled: not building llvmpipe'
+ print('warning: LLVM disabled: not building llvmpipe')
Return()
env = env.Clone()
-env.Tool('udis86')
-
-env.Append(CPPPATH = ['.'])
-
-env.CodeGenerate(
- target = 'lp_tile_soa.c',
- script = 'lp_tile_soa.py',
- source = ['#src/gallium/auxiliary/util/u_format.csv'],
- command = python_cmd + ' $SCRIPT $SOURCE > $TARGET'
-)
-
-# XXX: Our dependency scanner only finds depended modules in relative dirs.
-env.Depends('lp_tile_soa.c', [
- '#src/gallium/auxiliary/util/u_format_parse.py',
- '#src/gallium/auxiliary/util/u_format_pack.py',
-])
-
-
-# Only enable SSSE3 for lp_tile_soa_sse3.c
-ssse3_env = env.Clone()
-if env['gcc'] \
- and distutils.version.LooseVersion(env['CCVERSION']) >= distutils.version.LooseVersion('4.3') \
- and env['machine'] in ('x86', 'x86_64') :
- ssse3_env.Append(CCFLAGS = ['-mssse3'])
-lp_tile_soa_os = ssse3_env.SharedObject('lp_tile_soa.c')
-
+env.MSVC2013Compat()
llvmpipe = env.ConvenienceLibrary(
target = 'llvmpipe',
- source = [
- 'lp_bld_alpha.c',
- 'lp_bld_blend_aos.c',
- 'lp_bld_blend_logicop.c',
- 'lp_bld_blend_soa.c',
- 'lp_bld_depth.c',
- 'lp_bld_interp.c',
- 'lp_clear.c',
- 'lp_context.c',
- 'lp_draw_arrays.c',
- 'lp_fence.c',
- 'lp_flush.c',
- 'lp_jit.c',
- 'lp_memory.c',
- 'lp_perf.c',
- 'lp_query.c',
- 'lp_rast.c',
- 'lp_rast_tri.c',
- 'lp_scene.c',
- 'lp_scene_queue.c',
- 'lp_screen.c',
- 'lp_setup.c',
- 'lp_setup_line.c',
- 'lp_setup_point.c',
- 'lp_setup_tri.c',
- 'lp_setup_vbuf.c',
- 'lp_state_blend.c',
- 'lp_state_clip.c',
- 'lp_state_derived.c',
- 'lp_state_fs.c',
- 'lp_state_gs.c',
- 'lp_state_rasterizer.c',
- 'lp_state_sampler.c',
- 'lp_state_so.c',
- 'lp_state_surface.c',
- 'lp_state_vertex.c',
- 'lp_state_vs.c',
- 'lp_surface.c',
- 'lp_tex_sample.c',
- 'lp_texture.c',
- 'lp_tile_image.c',
- lp_tile_soa_os,
- ])
+ source = env.ParseSourceList('Makefile.sources', 'C_SOURCES')
+ )
+env.Alias('llvmpipe', llvmpipe)
-if env['platform'] != 'embedded':
+env.Append(CPPPATH = [
+ '../../../compiler/nir',
+])
+
+if not env['embedded']:
env = env.Clone()
- env.Prepend(LIBS = [llvmpipe] + gallium)
+ env.Prepend(LIBS = [llvmpipe, gallium, mesautil])
tests = [
+ 'arit',
'format',
'blend',
'conv',
- 'printf',
- 'sincos',
+ 'printf',
]
- if not msvc:
- tests.append('round')
-
for test in tests:
+ testname = 'lp_test_' + test
target = env.Program(
- target = 'lp_test_' + test,
- source = ['lp_test_' + test + '.c', 'lp_test_main.c'],
+ target = testname,
+ source = [testname + '.c', 'lp_test_main.c'],
)
- env.InstallProgram(target)
+ env.UnitTest(testname, target)
Export('llvmpipe')