| import common |
| |
| Import('*') |
| |
| from sys import executable as python_cmd |
| |
| env = env.Clone() |
| |
| env.MSVC2013Compat() |
| |
| env.Prepend(CPPPATH = [ |
| '#include', |
| '#src', |
| '#src/mapi', |
| '#src/mesa', |
| '#src/gallium/include', |
| '#src/gallium/auxiliary', |
| '#src/compiler/nir', |
| '#src/compiler/spirv', |
| ]) |
| |
| # Make generated headers reachable from the include path. |
| env.Prepend(CPPPATH = [Dir('.').abspath, Dir('nir').abspath]) |
| env.Prepend(CPPPATH = [Dir('.').abspath, Dir('spirv').abspath]) |
| |
| # spirv generated sources |
| |
| env.CodeGenerate( |
| target = 'spirv/spirv_info.c', |
| script = 'spirv/spirv_info_c.py', |
| source = ['spirv/spirv.core.grammar.json'], |
| command = python_cmd + ' $SCRIPT $SOURCE $TARGET' |
| ) |
| |
| env.CodeGenerate( |
| target = 'spirv/vtn_gather_types.c', |
| script = 'spirv/vtn_gather_types_c.py', |
| source = ['spirv/spirv.core.grammar.json'], |
| command = python_cmd + ' $SCRIPT $SOURCE $TARGET' |
| ) |
| |
| # parse Makefile.sources |
| source_lists = env.ParseSourceList('Makefile.sources') |
| |
| spirv_sources = source_lists['SPIRV_FILES'] |
| spirv_sources += source_lists['SPIRV_GENERATED_FILES'] |
| |
| spirv = env.ConvenienceLibrary( |
| target = 'spirv', |
| source = spirv_sources, |
| ) |
| |
| env.Alias('spirv', spirv) |
| Export('spirv') |