scons: include src/glsl/Makefile.sources
authorChia-I Wu <olvaffe@gmail.com>
Sun, 30 Oct 2011 11:32:25 +0000 (19:32 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Tue, 1 Nov 2011 22:36:58 +0000 (06:36 +0800)
Reviewed-by: Brian Paul <brianp@vmware.com>
src/glsl/SConscript

index 09c7edbc41a8b6bffe776115a119c6bfd93defc1..b8154d6083c292db9c0539c461d93a996a4b75fe 100644 (file)
@@ -30,78 +30,21 @@ glcpp_parser = env.CFile('glcpp/glcpp-parse.c', 'glcpp/glcpp-parse.y')
 glsl_lexer = parser_env.CXXFile('glsl_lexer.cpp', 'glsl_lexer.ll')
 glsl_parser = parser_env.CXXFile('glsl_parser.cpp', 'glsl_parser.yy')
 
+# common generated sources
 glsl_sources = [
     glcpp_lexer,
     glcpp_parser[0],
-    'glcpp/pp.c',
-    'ast_expr.cpp',
-    'ast_function.cpp',
-    'ast_to_hir.cpp',
-    'ast_type.cpp',
     glsl_lexer,
     glsl_parser[0],
-    'glsl_parser_extras.cpp',
-    'glsl_types.cpp',
-    'glsl_symbol_table.cpp',
-    'hir_field_selection.cpp',
-    'ir_basic_block.cpp',
-    'ir_clone.cpp',
-    'ir_constant_expression.cpp',
-    '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',
-    'ir_import_prototypes.cpp',
-    'ir_print_visitor.cpp',
-    'ir_reader.cpp',
-    'ir_rvalue_visitor.cpp',
-    'ir_set_program_inouts.cpp',
-    'ir_validate.cpp',
-    'ir_variable.cpp',
-    'ir_variable_refcount.cpp',
-    'linker.cpp',
-    'link_functions.cpp',
-    'link_uniforms.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',
-    'lower_jumps.cpp',
-    'lower_mat_op_to_vec.cpp',
-    'lower_noise.cpp',
-    'lower_variable_index_to_cond_assign.cpp',
-    'lower_vec_index_to_cond_assign.cpp',
-    'lower_vec_index_to_swizzle.cpp',
-    'lower_vector.cpp',
-    'opt_algebraic.cpp',
-    'opt_constant_folding.cpp',
-    'opt_constant_propagation.cpp',
-    'opt_constant_variable.cpp',
-    'opt_copy_propagation.cpp',
-    'opt_copy_propagation_elements.cpp',
-    'opt_dead_code.cpp',
-    'opt_dead_code_local.cpp',
-    'opt_dead_functions.cpp',
-    'opt_discard_simplification.cpp',
-    'opt_function_inlining.cpp',
-    'opt_if_simplification.cpp',
-    'opt_noop_swizzle.cpp',
-    'opt_redundant_jumps.cpp',
-    'opt_structure_splitting.cpp',
-    'opt_swizzle_swizzle.cpp',
-    'opt_tree_grafting.cpp',
-    'ralloc.c',
-    's_expression.cpp',
-    'standalone_scaffolding.cpp',
-    'strtod.c',
 ] 
 
+# parse Makefile.sources
+source_lists = env.ParseSourceList('Makefile.sources')
+
+# add non-generated sources
+for l in ('LIBGLCPP_SOURCES', 'LIBGLSL_SOURCES', 'LIBGLSL_CXX_SOURCES'):
+    glsl_sources += source_lists[l]
+
 if env['msvc']:
     env.Prepend(CPPPATH = ['#/src/getopt'])
     env.PrependUnique(LIBS = [getopt])
@@ -114,16 +57,19 @@ else:
     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')
+    compiler_objs = env.StaticObject(source_lists['GLSL_COMPILER_CXX_SOURCES'])
 
     mesa_objs = env.StaticObject([
         'hash_table.c',
         'symbol_table.c',
     ])
 
+    compiler_objs += mesa_objs
+
     builtin_compiler = env.Program(
         target = 'builtin_compiler',
-        source = main_obj + glsl_sources + ['builtin_stubs.cpp'] + mesa_objs,
+        source = compiler_objs + glsl_sources + \
+            source_lists['BUILTIN_COMPILER_CXX_SOURCES'],
     )
 
     # SCons builtin dependency scanner doesn't detect that glsl_lexer.ll
@@ -174,7 +120,7 @@ env.Prepend(LIBS = [glsl])
 
 glsl2 = env.Program(
     target = 'glsl2',
-    source = main_obj + mesa_objs,
+    source = compiler_objs,
 )
 env.Alias('glsl2', glsl2)