Home | History | Annotate | Download | only in compiler
      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