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 # parse Makefile.sources 63 source_lists = env.ParseSourceList('Makefile.sources') 64 65 nir_sources = source_lists['NIR_FILES'] 66 nir_sources += source_lists['NIR_GENERATED_FILES'] 67 68 nir = env.ConvenienceLibrary( 69 target = 'nir', 70 source = nir_sources, 71 ) 72 73 env.Alias('nir', nir) 74 Export('nir') 75