util/format: add some ZS helpers for vallium
[mesa.git] / src / util / SConscript
1 import common
2
3 Import('*')
4
5 from sys import executable as python_cmd
6
7 env = env.Clone()
8
9 env.MSVC2013Compat()
10
11 env.Prepend(CPPPATH = [
12 '#include',
13 '#src',
14 '#src/mapi',
15 '#src/mesa',
16 '#src/gallium/include',
17 '#src/gallium/auxiliary',
18 '#src/util',
19 '#src/util/format',
20 ])
21
22 env.CodeGenerate(
23 target = 'format_srgb.c',
24 script = 'format_srgb.py',
25 source = [],
26 command = python_cmd + ' $SCRIPT > $TARGET'
27 )
28
29 env.CodeGenerate(
30 target = 'format/u_format_pack.h',
31 script = 'format/u_format_table.py',
32 source = ['format/u_format.csv'],
33 command = python_cmd + ' $SCRIPT $SOURCE --header > $TARGET'
34 )
35
36 env.Depends('format/u_format_pack.h', [
37 'format/u_format_parse.py',
38 'format/u_format_pack.py',
39 ])
40
41 env.CodeGenerate(
42 target = 'format/u_format_table.c',
43 script = 'format/u_format_table.py',
44 source = ['format/u_format.csv'],
45 command = python_cmd + ' $SCRIPT $SOURCE > $TARGET'
46 )
47
48 env.Depends('format/u_format_table.c', [
49 'format/u_format_parse.py',
50 'format/u_format_pack.py',
51 ])
52
53 # parse Makefile.sources
54 source_lists = env.ParseSourceList('Makefile.sources')
55
56 mesautil_sources = (
57 source_lists['MESA_UTIL_FILES'] +
58 source_lists['MESA_UTIL_GENERATED_FILES']
59 )
60
61 mesautilenv = env.Clone()
62
63 if env['dri']:
64 mesautil_sources += source_lists['XMLCONFIG_FILES']
65
66 mesautilenv.AppendUnique(LIBS = [
67 'expat',
68 ])
69
70 mesautil = mesautilenv.ConvenienceLibrary(
71 target = 'mesautil',
72 source = mesautil_sources,
73 )
74
75 env.Alias('mesautil', mesautil)
76 Export('mesautil')
77
78
79 u_atomic_test = env.Program(
80 target = 'u_atomic_test',
81 source = ['u_atomic_test.c'],
82 )
83 env.UnitTest("u_atomic_test", u_atomic_test)
84
85 roundeven_test = env.Program(
86 target = 'roundeven_test',
87 source = ['roundeven_test.c'],
88 )
89 env.UnitTest("roundeven_test", roundeven_test)
90
91 env.Prepend(LIBS = [mesautil])
92 mesa_sha1_test = env.Program(
93 target = 'mesa-sha1_test',
94 source = ['mesa-sha1_test.c'],
95 )
96 env.UnitTest("mesa-sha1_test", mesa_sha1_test)