• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import common
2
3Import('*')
4
5from sys import executable as python_cmd
6
7env = env.Clone()
8
9env.MSVC2013Compat()
10
11env.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.
22env.Prepend(CPPPATH = [Dir('.').abspath, Dir('glsl').abspath])
23env.Prepend(CPPPATH = [Dir('.').abspath, Dir('nir').abspath])
24
25# nir generated sources
26
27nir_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
34env.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
41env.CodeGenerate(
42    target = 'nir/nir_opcodes.h',
43    script = 'nir/nir_opcodes_h.py',
44    source = [],
45    command = python_cmd + ' $SCRIPT > $TARGET'
46)
47
48env.CodeGenerate(
49    target = 'nir/nir_opcodes.c',
50    script = 'nir/nir_opcodes_c.py',
51    source = [],
52    command = python_cmd + ' $SCRIPT > $TARGET'
53)
54
55env.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# parse Makefile.sources
63source_lists = env.ParseSourceList('Makefile.sources')
64
65nir_sources = source_lists['NIR_FILES']
66nir_sources += source_lists['NIR_GENERATED_FILES']
67
68nir = env.ConvenienceLibrary(
69    target = 'nir',
70    source = nir_sources,
71)
72
73env.Alias('nir', nir)
74Export('nir')
75