'ir.cpp',
'ir_expression_flattening.cpp',
'ir_function_can_inline.cpp',
+ 'ir_function_detect_recursion.cpp',
'ir_function.cpp',
'ir_hierarchical_visitor.cpp',
'ir_hv_accept.cpp',
'loop_analysis.cpp',
'loop_controls.cpp',
'loop_unroll.cpp',
+ 'lower_clip_distance.cpp',
'lower_discard.cpp',
'lower_if_to_cond_assign.cpp',
'lower_instructions.cpp',
'opt_tree_grafting.cpp',
'ralloc.c',
's_expression.cpp',
+ 'standalone_scaffolding.cpp',
'strtod.c',
]
env.Prepend(CPPPATH = ['#/src/getopt'])
env.PrependUnique(LIBS = [getopt])
-main_obj = env.StaticObject('main.cpp')
-
-mesa_objs = env.StaticObject([
- '#src/mesa/program/hash_table.c',
- '#src/mesa/program/symbol_table.c',
-])
-
-if env['crosscompile'] and env['platform'] != 'embedded':
+if env['crosscompile'] and not env['embedded']:
Import('builtin_glsl_function')
else:
+ # Copy these files to avoid generation object files into src/mesa/program
+ env.Prepend(CPPPATH = ['#src/mesa/program'])
+ env.Command('hash_table.c', '#src/mesa/program/hash_table.c', Copy('$TARGET', '$SOURCE'))
+ env.Command('symbol_table.c', '#src/mesa/program/symbol_table.c', Copy('$TARGET', '$SOURCE'))
+
+ main_obj = env.StaticObject('main.cpp')
+
+ mesa_objs = env.StaticObject([
+ 'hash_table.c',
+ 'symbol_table.c',
+ ])
+
builtin_compiler = env.Program(
target = 'builtin_compiler',
source = main_obj + glsl_sources + ['builtin_stubs.cpp'] + mesa_objs,
Export('glsl')
+# Skip building these programs as they will cause SCons error "Two environments
+# with different actions were specified for the same target"
+if env['crosscompile'] or env['embedded']:
+ Return()
+
env = env.Clone()
if env['platform'] == 'windows':