spirv: fix emitting switch cases that directly jump to the merge block
[mesa.git] / src / compiler / SConscript.nir
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/compiler/nir',
19 ])
20
21 # Make generated headers reachable from the include path.
22 env.Prepend(CPPPATH = [Dir('.').abspath, Dir('glsl').abspath])
23 env.Prepend(CPPPATH = [Dir('.').abspath, Dir('nir').abspath])
24
25 # nir generated sources
26
27 nir_builder_opcodes_h = env.CodeGenerate(
28 target = 'nir/nir_builder_opcodes.h',
29 script = 'nir/nir_builder_opcodes_h.py',
30 source = [],
31 command = python_cmd + ' $SCRIPT > $TARGET'
32 )
33
34 env.CodeGenerate(
35 target = 'nir/nir_constant_expressions.c',
36 script = 'nir/nir_constant_expressions.py',
37 source = [],
38 command = python_cmd + ' $SCRIPT > $TARGET'
39 )
40
41 env.CodeGenerate(
42 target = 'nir/nir_opcodes.h',
43 script = 'nir/nir_opcodes_h.py',
44 source = [],
45 command = python_cmd + ' $SCRIPT > $TARGET'
46 )
47
48 env.CodeGenerate(
49 target = 'nir/nir_opcodes.c',
50 script = 'nir/nir_opcodes_c.py',
51 source = [],
52 command = python_cmd + ' $SCRIPT > $TARGET'
53 )
54
55 env.CodeGenerate(
56 target = 'nir/nir_opt_algebraic.c',
57 script = 'nir/nir_opt_algebraic.py',
58 source = [],
59 command = python_cmd + ' $SCRIPT > $TARGET'
60 )
61
62 bldroot = Dir('.').abspath
63
64 env.CodeGenerate(
65 target = 'nir/nir_intrinsics.h',
66 script = 'nir/nir_intrinsics_h.py',
67 source = [],
68 command = python_cmd + ' $SCRIPT --outdir ' + bldroot + '/nir'
69 )
70
71 env.CodeGenerate(
72 target = 'nir/nir_intrinsics.c',
73 script = 'nir/nir_intrinsics_c.py',
74 source = [],
75 command = python_cmd + ' $SCRIPT --outdir ' + bldroot + '/nir'
76 )
77
78 # parse Makefile.sources
79 source_lists = env.ParseSourceList('Makefile.sources')
80
81 nir_sources = source_lists['NIR_FILES']
82 nir_sources += source_lists['NIR_GENERATED_FILES']
83
84 nir = env.ConvenienceLibrary(
85 target = 'nir',
86 source = nir_sources,
87 )
88
89 env.Alias('nir', nir)
90 Export('nir')