SConscript revision 7aebe181f3eea51ae76f7abe200df239c7dd948a
1import common
2
3Import('*')
4
5env = env.Clone()
6
7env.Prepend(CPPPATH = [
8    '#src/mapi',
9    '#src/mesa',
10])
11
12if env['platform'] == 'windows':
13    env.Prepend(CPPPATH = ['#src/talloc'])
14
15sources = [
16    'glcpp/glcpp-lex.c',
17    'glcpp/glcpp-parse.c',
18    'glcpp/pp.c',
19    'ast_expr.cpp',
20    'ast_function.cpp',
21    'ast_to_hir.cpp',
22    'ast_type.cpp',
23    'builtin_function.cpp',
24    'glsl_lexer.cpp',
25    'glsl_parser.cpp',
26    'glsl_parser_extras.cpp',
27    'glsl_types.cpp',
28    'glsl_symbol_table.cpp',
29    'hir_field_selection.cpp',
30    'ir_basic_block.cpp',
31    'ir_clone.cpp',
32    'ir_constant_expression.cpp',
33    'ir.cpp',
34    'ir_expression_flattening.cpp',
35    'ir_function_can_inline.cpp',
36    'ir_function.cpp',
37    'ir_hierarchical_visitor.cpp',
38    'ir_hv_accept.cpp',
39    'ir_import_prototypes.cpp',
40    'ir_print_visitor.cpp',
41    'ir_reader.cpp',
42    'ir_rvalue_visitor.cpp',
43    'ir_set_program_inouts.cpp',
44    'ir_validate.cpp',
45    'ir_variable.cpp',
46    'ir_variable_refcount.cpp',
47    'linker.cpp',
48    'link_functions.cpp',
49    'loop_analysis.cpp',
50    'loop_controls.cpp',
51    'loop_unroll.cpp',
52    'lower_if_to_cond_assign.cpp',
53    'lower_instructions.cpp',
54    'lower_jumps.cpp',
55    'lower_mat_op_to_vec.cpp',
56    'lower_noise.cpp',
57    'lower_variable_index_to_cond_assign.cpp',
58    'lower_vec_index_to_cond_assign.cpp',
59    'lower_vec_index_to_swizzle.cpp',
60    'lower_vector.cpp',
61    'opt_algebraic.cpp',
62    'opt_constant_folding.cpp',
63    'opt_constant_propagation.cpp',
64    'opt_constant_variable.cpp',
65    'opt_copy_propagation.cpp',
66    'opt_dead_code.cpp',
67    'opt_dead_code_local.cpp',
68    'opt_dead_functions.cpp',
69    'opt_function_inlining.cpp',
70    'opt_if_simplification.cpp',
71    'opt_noop_swizzle.cpp',
72    'opt_redundant_jumps.cpp',
73    'opt_structure_splitting.cpp',
74    'opt_swizzle_swizzle.cpp',
75    'opt_tree_grafting.cpp',
76    's_expression.cpp',
77]
78
79glsl = env.ConvenienceLibrary(
80    target = 'glsl',
81    source = sources,
82)
83
84Export('glsl')
85
86# FIXME: We can't build the programs because there's a cyclic dependency between tis directory and src/mesa
87Return()
88
89env = env.Clone()
90
91if env['platform'] == 'windows':
92    env.PrependUnique(LIBS = [
93        'user32',
94    ])
95
96env.Prepend(LIBS = [glsl, talloc])
97
98env.Program(
99    target = 'glsl2',
100    source = [
101        'main.cpp',
102    ]
103)
104
105env.Program(
106    target = 'glcpp',
107    source = ['glcpp/glcpp.c'],
108)
109