José Fonseca | bdaa8be | 2010-07-20 13:40:01 +0100 | [diff] [blame] | 1 | from sys import executable as python_cmd |
José Fonseca | 0a36a06 | 2010-07-15 18:22:39 +0100 | [diff] [blame] | 2 | import distutils.version |
| 3 | |
José Fonseca | 946f432 | 2009-07-26 23:44:38 +0100 | [diff] [blame] | 4 | Import('*') |
| 5 | |
José Fonseca | ea532f0 | 2010-04-10 02:41:39 +0100 | [diff] [blame] | 6 | if not env['llvm']: |
| 7 | print 'warning: LLVM disabled: not building llvmpipe' |
José Fonseca | 836a9f0 | 2009-09-01 12:22:52 +0100 | [diff] [blame] | 8 | Return() |
| 9 | |
José Fonseca | ea532f0 | 2010-04-10 02:41:39 +0100 | [diff] [blame] | 10 | env = env.Clone() |
| 11 | |
José Fonseca | cf9be46 | 2010-01-01 00:20:52 +0000 | [diff] [blame] | 12 | env.Append(CPPPATH = ['.']) |
| 13 | |
José Fonseca | 589ec33 | 2009-10-04 13:04:08 +0100 | [diff] [blame] | 14 | env.CodeGenerate( |
| 15 | target = 'lp_tile_soa.c', |
| 16 | script = 'lp_tile_soa.py', |
| 17 | source = ['#src/gallium/auxiliary/util/u_format.csv'], |
José Fonseca | bdaa8be | 2010-07-20 13:40:01 +0100 | [diff] [blame] | 18 | command = python_cmd + ' $SCRIPT $SOURCE > $TARGET' |
José Fonseca | 589ec33 | 2009-10-04 13:04:08 +0100 | [diff] [blame] | 19 | ) |
| 20 | |
José Fonseca | eee21b3 | 2010-02-26 10:11:52 +0000 | [diff] [blame] | 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', |
José Fonseca | 9beb302 | 2010-02-26 16:45:22 +0000 | [diff] [blame] | 24 | '#src/gallium/auxiliary/util/u_format_pack.py', |
José Fonseca | eee21b3 | 2010-02-26 10:11:52 +0000 | [diff] [blame] | 25 | ]) |
| 26 | |
Chris Li | bed7886 | 2010-07-14 14:19:11 +0100 | [diff] [blame] | 27 | |
Keith Whitwell | 2de720d | 2010-10-01 15:13:51 +0100 | [diff] [blame] | 28 | lp_tile_soa_os = env.SharedObject('lp_tile_soa.c') |
Chris Li | bed7886 | 2010-07-14 14:19:11 +0100 | [diff] [blame] | 29 | |
| 30 | |
José Fonseca | 946f432 | 2009-07-26 23:44:38 +0100 | [diff] [blame] | 31 | llvmpipe = env.ConvenienceLibrary( |
| 32 | target = 'llvmpipe', |
| 33 | source = [ |
Brian Paul | 7a05161 | 2010-04-16 10:22:33 -0600 | [diff] [blame] | 34 | 'lp_bld_alpha.c', |
Brian Paul | d75129d | 2010-04-16 10:28:21 -0600 | [diff] [blame] | 35 | 'lp_bld_blend_aos.c', |
| 36 | 'lp_bld_blend_logicop.c', |
| 37 | 'lp_bld_blend_soa.c', |
Brian Paul | f17d151 | 2010-04-16 10:20:32 -0600 | [diff] [blame] | 38 | 'lp_bld_depth.c', |
Brian Paul | cf88dcf | 2010-04-16 10:17:38 -0600 | [diff] [blame] | 39 | 'lp_bld_interp.c', |
José Fonseca | 946f432 | 2009-07-26 23:44:38 +0100 | [diff] [blame] | 40 | 'lp_clear.c', |
| 41 | 'lp_context.c', |
| 42 | 'lp_draw_arrays.c', |
Brian Paul | 2876b68 | 2009-12-11 17:32:45 -0700 | [diff] [blame] | 43 | 'lp_fence.c', |
José Fonseca | 946f432 | 2009-07-26 23:44:38 +0100 | [diff] [blame] | 44 | 'lp_flush.c', |
José Fonseca | 08dd41f | 2009-08-23 05:52:20 +0100 | [diff] [blame] | 45 | 'lp_jit.c', |
Brian Paul | effd330 | 2010-06-30 11:49:40 -0600 | [diff] [blame] | 46 | 'lp_memory.c', |
Brian Paul | cd9d9e2 | 2010-01-21 14:59:01 -0700 | [diff] [blame] | 47 | 'lp_perf.c', |
José Fonseca | 946f432 | 2009-07-26 23:44:38 +0100 | [diff] [blame] | 48 | 'lp_query.c', |
Brian Paul | 1073e39 | 2010-01-19 09:45:51 -0700 | [diff] [blame] | 49 | 'lp_rast.c', |
Keith Whitwell | f25836d | 2010-08-27 19:24:51 +0100 | [diff] [blame] | 50 | 'lp_rast_debug.c', |
Brian Paul | 1073e39 | 2010-01-19 09:45:51 -0700 | [diff] [blame] | 51 | 'lp_rast_tri.c', |
Keith Whitwell | 663750d | 2009-12-13 18:17:25 +0000 | [diff] [blame] | 52 | 'lp_scene.c', |
| 53 | 'lp_scene_queue.c', |
José Fonseca | 946f432 | 2009-07-26 23:44:38 +0100 | [diff] [blame] | 54 | 'lp_screen.c', |
José Fonseca | 946f432 | 2009-07-26 23:44:38 +0100 | [diff] [blame] | 55 | 'lp_setup.c', |
Keith Whitwell | 415b271 | 2009-10-09 10:44:07 +0100 | [diff] [blame] | 56 | 'lp_setup_line.c', |
| 57 | 'lp_setup_point.c', |
Keith Whitwell | 663750d | 2009-12-13 18:17:25 +0000 | [diff] [blame] | 58 | 'lp_setup_tri.c', |
Keith Whitwell | 5ce0380 | 2010-01-06 16:44:43 +0000 | [diff] [blame] | 59 | 'lp_setup_vbuf.c', |
José Fonseca | 946f432 | 2009-07-26 23:44:38 +0100 | [diff] [blame] | 60 | 'lp_state_blend.c', |
| 61 | 'lp_state_clip.c', |
| 62 | 'lp_state_derived.c', |
| 63 | 'lp_state_fs.c', |
Keith Whitwell | 5b4c43d | 2010-09-05 13:17:43 +0100 | [diff] [blame] | 64 | 'lp_state_setup.c', |
Keith Whitwell | a6d9d18 | 2010-05-28 16:54:35 +0100 | [diff] [blame] | 65 | 'lp_state_gs.c', |
José Fonseca | 946f432 | 2009-07-26 23:44:38 +0100 | [diff] [blame] | 66 | 'lp_state_rasterizer.c', |
| 67 | 'lp_state_sampler.c', |
Zack Rusin | b5e381d | 2010-06-22 12:56:54 -0400 | [diff] [blame] | 68 | 'lp_state_so.c', |
José Fonseca | 946f432 | 2009-07-26 23:44:38 +0100 | [diff] [blame] | 69 | 'lp_state_surface.c', |
| 70 | 'lp_state_vertex.c', |
José Fonseca | 3f36f4b | 2009-08-22 19:07:56 +0100 | [diff] [blame] | 71 | 'lp_state_vs.c', |
José Fonseca | 946f432 | 2009-07-26 23:44:38 +0100 | [diff] [blame] | 72 | 'lp_surface.c', |
José Fonseca | 7cebd16 | 2010-04-25 12:11:36 +0100 | [diff] [blame] | 73 | 'lp_tex_sample.c', |
José Fonseca | 946f432 | 2009-07-26 23:44:38 +0100 | [diff] [blame] | 74 | 'lp_texture.c', |
Brian Paul | 1eec90d | 2010-02-22 15:19:45 -0700 | [diff] [blame] | 75 | 'lp_tile_image.c', |
Chris Li | bed7886 | 2010-07-14 14:19:11 +0100 | [diff] [blame] | 76 | lp_tile_soa_os, |
José Fonseca | 946f432 | 2009-07-26 23:44:38 +0100 | [diff] [blame] | 77 | ]) |
| 78 | |
José Fonseca | 601498a | 2010-11-01 13:30:22 +0000 | [diff] [blame^] | 79 | env.Alias('llvmpipe', llvmpipe) |
| 80 | |
José Fonseca | 7d04316 | 2009-08-01 17:59:19 +0100 | [diff] [blame] | 81 | |
José Fonseca | 9cd2abd | 2010-02-04 14:36:10 +0000 | [diff] [blame] | 82 | if env['platform'] != 'embedded': |
| 83 | env = env.Clone() |
José Fonseca | 7d04316 | 2009-08-01 17:59:19 +0100 | [diff] [blame] | 84 | |
José Fonseca | 9cd2abd | 2010-02-04 14:36:10 +0000 | [diff] [blame] | 85 | env.Prepend(LIBS = [llvmpipe] + gallium) |
José Fonseca | 8783732 | 2009-07-27 01:23:15 +0100 | [diff] [blame] | 86 | |
José Fonseca | 9cd2abd | 2010-02-04 14:36:10 +0000 | [diff] [blame] | 87 | tests = [ |
José Fonseca | b29fcc7 | 2010-04-20 13:41:10 +0200 | [diff] [blame] | 88 | 'format', |
José Fonseca | 9cd2abd | 2010-02-04 14:36:10 +0000 | [diff] [blame] | 89 | 'blend', |
| 90 | 'conv', |
Qicheng Christopher Li | 80ee3a4 | 2010-05-24 13:44:13 +0100 | [diff] [blame] | 91 | 'printf', |
| 92 | 'sincos', |
José Fonseca | 9cd2abd | 2010-02-04 14:36:10 +0000 | [diff] [blame] | 93 | ] |
José Fonseca | 7d04316 | 2009-08-01 17:59:19 +0100 | [diff] [blame] | 94 | |
José Fonseca | 601498a | 2010-11-01 13:30:22 +0000 | [diff] [blame^] | 95 | if not env['msvc']: |
Vinson Lee | c89ea8f | 2010-07-06 17:25:39 -0700 | [diff] [blame] | 96 | tests.append('round') |
| 97 | |
José Fonseca | 9cd2abd | 2010-02-04 14:36:10 +0000 | [diff] [blame] | 98 | for test in tests: |
| 99 | target = env.Program( |
| 100 | target = 'lp_test_' + test, |
| 101 | source = ['lp_test_' + test + '.c', 'lp_test_main.c'], |
| 102 | ) |
| 103 | env.InstallProgram(target) |
José Fonseca | 8988424 | 2009-08-07 09:51:48 +0100 | [diff] [blame] | 104 | |
José Fonseca | 30a44ee | 2010-05-11 17:44:52 +0100 | [diff] [blame] | 105 | Export('llvmpipe') |