1b8e80941Smrgimport common
2b8e80941Smrg
3b8e80941SmrgImport('*')
4b8e80941Smrg
5b8e80941Smrgfrom sys import executable as python_cmd
6b8e80941Smrg
7b8e80941Smrgenv = env.Clone()
8b8e80941Smrg
9b8e80941Smrgenv.MSVC2013Compat()
10b8e80941Smrg
11b8e80941Smrgenv.Prepend(CPPPATH = [
12b8e80941Smrg    '#include',
13b8e80941Smrg    '#src',
14b8e80941Smrg    '#src/mapi',
15b8e80941Smrg    '#src/mesa',
16b8e80941Smrg    '#src/gallium/include',
17b8e80941Smrg    '#src/gallium/auxiliary',
18b8e80941Smrg    '#src/compiler/nir',
19b8e80941Smrg])
20b8e80941Smrg
21b8e80941Smrg# Make generated headers reachable from the include path.
22b8e80941Smrgenv.Prepend(CPPPATH = [Dir('.').abspath, Dir('glsl').abspath])
23b8e80941Smrgenv.Prepend(CPPPATH = [Dir('.').abspath, Dir('nir').abspath])
24b8e80941Smrg
25b8e80941Smrg# nir generated sources
26b8e80941Smrg
27b8e80941Smrgnir_builder_opcodes_h = env.CodeGenerate(
28b8e80941Smrg    target = 'nir/nir_builder_opcodes.h',
29b8e80941Smrg    script = 'nir/nir_builder_opcodes_h.py',
30b8e80941Smrg    source = [],
31b8e80941Smrg    command = python_cmd + ' $SCRIPT > $TARGET'
32b8e80941Smrg)
33b8e80941Smrg
34b8e80941Smrgenv.CodeGenerate(
35b8e80941Smrg    target = 'nir/nir_constant_expressions.c',
36b8e80941Smrg    script = 'nir/nir_constant_expressions.py',
37b8e80941Smrg    source = [],
38b8e80941Smrg    command = python_cmd + ' $SCRIPT > $TARGET'
39b8e80941Smrg)
40b8e80941Smrg
41b8e80941Smrgenv.CodeGenerate(
42b8e80941Smrg    target = 'nir/nir_opcodes.h',
43b8e80941Smrg    script = 'nir/nir_opcodes_h.py',
44b8e80941Smrg    source = [],
45b8e80941Smrg    command = python_cmd + ' $SCRIPT > $TARGET'
46b8e80941Smrg)
47b8e80941Smrg
48b8e80941Smrgenv.CodeGenerate(
49b8e80941Smrg    target = 'nir/nir_opcodes.c',
50b8e80941Smrg    script = 'nir/nir_opcodes_c.py',
51b8e80941Smrg    source = [],
52b8e80941Smrg    command = python_cmd + ' $SCRIPT > $TARGET'
53b8e80941Smrg)
54b8e80941Smrg
55b8e80941Smrgenv.CodeGenerate(
56b8e80941Smrg    target = 'nir/nir_opt_algebraic.c',
57b8e80941Smrg    script = 'nir/nir_opt_algebraic.py',
58b8e80941Smrg    source = [],
59b8e80941Smrg    command = python_cmd + ' $SCRIPT > $TARGET'
60b8e80941Smrg)
61b8e80941Smrg
62b8e80941Smrgbldroot = Dir('.').abspath
63b8e80941Smrg
64b8e80941Smrgenv.CodeGenerate(
65b8e80941Smrg    target = 'nir/nir_intrinsics.h',
66b8e80941Smrg    script = 'nir/nir_intrinsics_h.py',
67b8e80941Smrg    source = [],
68b8e80941Smrg    command = python_cmd + ' $SCRIPT --outdir ' + bldroot + '/nir'
69b8e80941Smrg)
70b8e80941Smrg
71b8e80941Smrgenv.CodeGenerate(
72b8e80941Smrg    target = 'nir/nir_intrinsics.c',
73b8e80941Smrg    script = 'nir/nir_intrinsics_c.py',
74b8e80941Smrg    source = [],
75b8e80941Smrg    command = python_cmd + ' $SCRIPT --outdir ' + bldroot + '/nir'
76b8e80941Smrg)
77b8e80941Smrg
78b8e80941Smrg# parse Makefile.sources
79b8e80941Smrgsource_lists = env.ParseSourceList('Makefile.sources')
80b8e80941Smrg
81b8e80941Smrgnir_sources = source_lists['NIR_FILES']
82b8e80941Smrgnir_sources += source_lists['NIR_GENERATED_FILES']
83b8e80941Smrg
84b8e80941Smrgnir = env.ConvenienceLibrary(
85b8e80941Smrg    target = 'nir',
86b8e80941Smrg    source = nir_sources,
87b8e80941Smrg)
88b8e80941Smrg
89b8e80941Smrgenv.Alias('nir', nir)
90b8e80941SmrgExport('nir')
91