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