Home | History | Annotate | Download | only in llvmpipe
      1 from sys import executable as python_cmd
      2 import distutils.version
      3 
      4 Import('*')
      5 
      6 if not env['llvm']:
      7     print 'warning: LLVM disabled: not building llvmpipe'
      8     Return()
      9 
     10 env = env.Clone()
     11 
     12 env.Append(CPPPATH = ['.'])
     13 
     14 env.CodeGenerate(
     15 	target = 'lp_tile_soa.c',
     16 	script = 'lp_tile_soa.py',
     17 	source = ['#src/gallium/auxiliary/util/u_format.csv'],
     18 	command = python_cmd + ' $SCRIPT $SOURCE > $TARGET'
     19 )
     20 
     21 # XXX: Our dependency scanner only finds depended modules in relative dirs.
     22 env.Depends('lp_tile_soa.c', [
     23     '#src/gallium/auxiliary/util/u_format_parse.py', 
     24     '#src/gallium/auxiliary/util/u_format_pack.py', 
     25 ])
     26 
     27 
     28 lp_tile_soa_os = env.SharedObject('lp_tile_soa.c')
     29 
     30 
     31 llvmpipe = env.ConvenienceLibrary(
     32 	target = 'llvmpipe',
     33 	source = [
     34 		'lp_bld_alpha.c',
     35 		'lp_bld_blend.c',
     36 		'lp_bld_blend_aos.c',
     37 		'lp_bld_blend_logicop.c',
     38 		'lp_bld_blend_soa.c',
     39 		'lp_bld_depth.c',
     40 		'lp_bld_interp.c',
     41 		'lp_clear.c',
     42 		'lp_context.c',
     43 		'lp_draw_arrays.c',
     44 		'lp_fence.c',
     45 		'lp_flush.c',
     46 		'lp_jit.c',
     47 		'lp_memory.c',
     48 		'lp_perf.c',
     49 		'lp_query.c',
     50 		'lp_rast.c',
     51 		'lp_rast_debug.c',
     52 		'lp_rast_tri.c',
     53 		'lp_scene.c',
     54 		'lp_scene_queue.c',
     55 		'lp_screen.c',
     56 		'lp_setup.c',
     57 		'lp_setup_line.c',
     58 		'lp_setup_point.c',
     59 		'lp_setup_tri.c',
     60 		'lp_setup_vbuf.c',
     61 		'lp_state_blend.c',
     62 		'lp_state_clip.c',
     63 		'lp_state_derived.c',
     64 		'lp_state_fs.c',
     65 		'lp_state_setup.c',
     66 		'lp_state_gs.c',
     67 		'lp_state_rasterizer.c',
     68 		'lp_state_sampler.c',
     69                 'lp_state_so.c',
     70 		'lp_state_surface.c',
     71 		'lp_state_vertex.c',
     72 		'lp_state_vs.c',
     73 		'lp_surface.c',
     74 		'lp_tex_sample.c',
     75 		'lp_texture.c',
     76 		'lp_tile_image.c',
     77         lp_tile_soa_os,
     78 	])
     79 
     80 env.Alias('llvmpipe', llvmpipe)
     81 
     82 
     83 if not env['embedded']:
     84     env = env.Clone()
     85 
     86     env.Prepend(LIBS = [llvmpipe] + gallium)
     87 
     88     tests = [
     89         'format',
     90         'blend',
     91         'conv',
     92         'printf',
     93     ]
     94 
     95     if not env['msvc']:
     96         tests.append('arit')
     97 
     98     for test in tests:
     99         testname = 'lp_test_' + test
    100         target = env.Program(
    101             target = testname,
    102             source = [testname + '.c', 'lp_test_main.c'],
    103         )
    104         env.InstallProgram(target)
    105         
    106         # http://www.scons.org/wiki/UnitTests
    107         alias = env.Alias(testname, [target], target[0].abspath)
    108         AlwaysBuild(alias)
    109 
    110 Export('llvmpipe')
    111