@@ -18,6 +18,15 @@ fn add_sources(builder: &mut Build, root: &str, files: &[&str]) {
1818 } ) ) ;
1919}
2020
21+ fn add_sources_glob ( builder : & mut Build , root : & str ) {
22+ let root = Path :: new ( root) ;
23+ builder. files ( root. read_dir ( ) . expect ( "root is a dir" ) . filter_map ( |a| {
24+ let entry = a. unwrap ( ) ;
25+ let is_cpp = entry. file_name ( ) . to_str ( ) . unwrap ( ) . ends_with ( ".cpp" ) ;
26+ is_cpp. then_some ( entry. path ( ) )
27+ } ) ) ;
28+ }
29+
2130fn shared ( build : & mut Build ) {
2231 add_sources (
2332 build,
@@ -49,187 +58,19 @@ fn shared(build: &mut Build) {
4958 "table" ,
5059 "text" ,
5160 "text_handler" ,
61+ "to_string" ,
5262 ] ,
5363 ) ;
5464}
5565
5666fn opt ( build : & mut Build ) {
5767 build. file ( "src/c/opt.cpp" ) ;
5868
59- add_sources (
60- build,
61- "spirv-tools/source/opt" ,
62- & [
63- "aggressive_dead_code_elim_pass" ,
64- "analyze_live_input_pass" ,
65- "amd_ext_to_khr" ,
66- "basic_block" ,
67- "block_merge_pass" ,
68- "block_merge_util" ,
69- "build_module" ,
70- "ccp_pass" ,
71- "cfg" ,
72- "cfg_cleanup_pass" ,
73- "code_sink" ,
74- "combine_access_chains" ,
75- "compact_ids_pass" ,
76- "composite" ,
77- "const_folding_rules" ,
78- "constants" ,
79- "convert_to_half_pass" ,
80- "convert_to_sampled_image_pass" ,
81- "copy_prop_arrays" ,
82- "dead_branch_elim_pass" ,
83- "dead_insert_elim_pass" ,
84- "dead_variable_elimination" ,
85- "debug_info_manager" ,
86- "decoration_manager" ,
87- "def_use_manager" ,
88- "desc_sroa" ,
89- "desc_sroa_util" ,
90- "dominator_analysis" ,
91- "dominator_tree" ,
92- "eliminate_dead_constant_pass" ,
93- "eliminate_dead_functions_pass" ,
94- "eliminate_dead_functions_util" ,
95- "eliminate_dead_io_components_pass" ,
96- "eliminate_dead_members_pass" ,
97- "eliminate_dead_output_stores_pass" ,
98- "feature_manager" ,
99- "fix_func_call_arguments" ,
100- "fix_storage_class" ,
101- "flatten_decoration_pass" ,
102- "fold" ,
103- "fold_spec_constant_op_and_composite_pass" ,
104- "folding_rules" ,
105- "freeze_spec_constant_value_pass" ,
106- "function" ,
107- "graphics_robust_access_pass" ,
108- "if_conversion" ,
109- "inline_exhaustive_pass" ,
110- "inline_opaque_pass" ,
111- "inline_pass" ,
112- "inst_bindless_check_pass" ,
113- "inst_buff_addr_check_pass" ,
114- "inst_debug_printf_pass" ,
115- "instruction" ,
116- "instruction_list" ,
117- "instrument_pass" ,
118- "interface_var_sroa" ,
119- "interp_fixup_pass" ,
120- "invocation_interlock_placement_pass" ,
121- "ir_context" ,
122- "ir_loader" ,
123- "licm_pass" ,
124- "liveness" ,
125- "local_access_chain_convert_pass" ,
126- "local_redundancy_elimination" ,
127- "local_single_block_elim_pass" ,
128- "local_single_store_elim_pass" ,
129- "loop_dependence" ,
130- "loop_dependence_helpers" ,
131- "loop_descriptor" ,
132- "loop_fission" ,
133- "loop_fusion" ,
134- "loop_fusion_pass" ,
135- "loop_peeling" ,
136- "loop_unroller" ,
137- "loop_unswitch_pass" ,
138- "loop_utils" ,
139- "mem_pass" ,
140- "merge_return_pass" ,
141- "module" ,
142- "optimizer" ,
143- "pass" ,
144- "pass_manager" ,
145- "pch_source_opt" ,
146- "private_to_local_pass" ,
147- "propagator" ,
148- "reduce_load_size" ,
149- "redundancy_elimination" ,
150- "register_pressure" ,
151- "relax_float_ops_pass" ,
152- "remove_dontinline_pass" ,
153- "remove_duplicates_pass" ,
154- "remove_unused_interface_variables_pass" ,
155- "replace_desc_array_access_using_var_index" ,
156- "replace_invalid_opc" ,
157- "scalar_analysis" ,
158- "scalar_analysis_simplification" ,
159- "scalar_replacement_pass" ,
160- "set_spec_constant_default_value_pass" ,
161- "simplification_pass" ,
162- "spread_volatile_semantics" ,
163- "ssa_rewrite_pass" ,
164- "strength_reduction_pass" ,
165- "strip_debug_info_pass" ,
166- "strip_nonsemantic_info_pass" ,
167- "struct_cfg_analysis" ,
168- "switch_descriptorset_pass" ,
169- "trim_capabilities_pass" ,
170- "type_manager" ,
171- "types" ,
172- "unify_const_pass" ,
173- "upgrade_memory_model" ,
174- "value_number_table" ,
175- "vector_dce" ,
176- "workaround1209" ,
177- "wrap_opkill" ,
178- ] ,
179- ) ;
69+ add_sources_glob ( build, "spirv-tools/source/opt" ) ;
18070}
18171
18272fn val ( build : & mut Build ) {
183- add_sources (
184- build,
185- "spirv-tools/source/val" ,
186- & [
187- "validate" ,
188- "validate_adjacency" ,
189- "validate_annotation" ,
190- "validate_arithmetics" ,
191- "validate_atomics" ,
192- "validate_barriers" ,
193- "validate_bitwise" ,
194- "validate_builtins" ,
195- "validate_capability" ,
196- "validate_cfg" ,
197- "validate_composites" ,
198- "validate_constants" ,
199- "validate_conversion" ,
200- "validate_debug" ,
201- "validate_decorations" ,
202- "validate_derivatives" ,
203- "validate_extensions" ,
204- "validate_execution_limitations" ,
205- "validate_function" ,
206- "validate_id" ,
207- "validate_image" ,
208- "validate_interfaces" ,
209- "validate_instruction" ,
210- "validate_layout" ,
211- "validate_literals" ,
212- "validate_logicals" ,
213- "validate_memory" ,
214- "validate_memory_semantics" ,
215- "validate_mesh_shading" ,
216- "validate_misc" ,
217- "validate_mode_setting" ,
218- "validate_non_uniform" ,
219- "validate_primitives" ,
220- "validate_ray_query" ,
221- "validate_ray_tracing" ,
222- "validate_ray_tracing_reorder" ,
223- "validate_scopes" ,
224- "validate_small_type_uses" ,
225- "validate_type" ,
226- "basic_block" ,
227- "construct" ,
228- "function" ,
229- "instruction" ,
230- "validation_state" ,
231- ] ,
232- ) ;
73+ add_sources_glob ( build, "spirv-tools/source/val" ) ;
23374}
23475
23576fn main ( ) {
0 commit comments