diff options
author | Kenneth Graunke <[email protected]> | 2011-01-07 14:30:14 -0800 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2011-01-10 19:03:27 -0800 |
commit | 33d0c44910860e0522bd56a0f8637a69e0c4a456 (patch) | |
tree | 0961477d494bde7c861890c52dbf3add238a8032 /src/glsl/SConscript | |
parent | 469ea695bbbc984ebec26b2413ab70d450a283ca (diff) |
glsl: Autogenerate builtin_functions.cpp as part of the build process.
Python is already necessary for other parts of Mesa, so there's no
reason we can't just generate it. This patch updates both make and
SCons to do so.
Diffstat (limited to 'src/glsl/SConscript')
-rw-r--r-- | src/glsl/SConscript | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/src/glsl/SConscript b/src/glsl/SConscript index f179721d527..1757605f7cb 100644 --- a/src/glsl/SConscript +++ b/src/glsl/SConscript @@ -2,6 +2,8 @@ import common Import('*') +from sys import executable as python_cmd + env = env.Clone() env.Prepend(CPPPATH = [ @@ -20,7 +22,6 @@ sources = [ 'ast_function.cpp', 'ast_to_hir.cpp', 'ast_type.cpp', - 'builtin_function.cpp', 'glsl_lexer.cpp', 'glsl_parser.cpp', 'glsl_parser_extras.cpp', @@ -79,9 +80,28 @@ sources = [ 'strtod.c', ] +env.Prepend(LIBS = ['talloc']) +env.Append(CPPPATH = ['#/src/glsl']) + +builtin_compiler = env.Program( + target = 'builtin_compiler', + source = sources + ['main.cpp', 'builtin_stubs.cpp', + '#src/mesa/program/hash_table.c', + '#src/mesa/program/symbol_table.c'], +) + +env.CodeGenerate( + target = 'builtin_function.cpp', + script = 'builtins/tools/generate_builtins.py', + source = builtin_compiler, + command = python_cmd + ' $SCRIPT $SOURCE > $TARGET' +) + +env.Depends('builtin_function.cpp', ['builtins/tools/generate_builtins.py', 'builtins/tools/texture_builtins.py'] + Glob('builtins/ir/*')) + glsl = env.ConvenienceLibrary( target = 'glsl', - source = sources, + source = sources + [ 'builtin_function.cpp' ], ) Export('glsl') |