@@ -152,7 +152,7 @@ fn build_pass(
152152 src_dir : & Path ,
153153 src_file : & str ,
154154 additional_srcfiles : Option < & Vec < & str > > ,
155- optional : bool ,
155+ required : bool ,
156156) {
157157 let dot_offset = src_file. rfind ( '.' ) . unwrap ( ) ;
158158 let src_stub = & src_file[ ..dot_offset] ;
@@ -164,7 +164,7 @@ fn build_pass(
164164 } ;
165165
166166 println ! ( "cargo:rerun-if-changed=src/{src_file}" ) ;
167- let r = if cfg ! ( unix) {
167+ let command_result = if cfg ! ( unix) {
168168 let r = Command :: new ( bindir_path. join ( "clang++" ) )
169169 . arg ( "-v" )
170170 . arg ( format ! ( "--target={}" , env:: var( "HOST" ) . unwrap( ) ) )
@@ -198,27 +198,27 @@ fn build_pass(
198198 None
199199 } ;
200200
201- match r {
202- Some ( r ) => match r {
201+ match command_result {
202+ Some ( res ) => match res {
203203 Ok ( s) => {
204204 if !s. success ( ) {
205- if optional {
206- println ! ( "cargo:warning=Skipping src/{src_file} - Exit status: {s}" ) ;
205+ if required {
206+ panic ! ( "Failed to compile required compiler pass src/{src_file} - Exit status: {s}" ) ;
207207 } else {
208- panic ! ( "Failed to compile {src_file} - Exit status: {s}" ) ;
208+ println ! ( "cargo:warning=Skipping non-required compiler pass src/ {src_file} - Reason: Exit status {s}" ) ;
209209 }
210210 }
211211 }
212212 Err ( err) => {
213- if optional {
214- println ! ( "cargo:warning=Skipping src/{src_file} - {err}" ) ;
213+ if required {
214+ panic ! ( "Failed to compile required compiler pass src/{src_file} - {err}" ) ;
215215 } else {
216- panic ! ( "Failed to compile {src_file} - {err}" ) ;
216+ println ! ( "cargo:warning=Skipping non-required compiler pass src/ {src_file} - Reason: {err}" ) ;
217217 }
218218 }
219219 } ,
220220 None => {
221- println ! ( "cargo:warning=Skipping src/{src_file} - Only supported on Windows or *nix." ) ;
221+ println ! ( "cargo:warning=Skipping compiler pass src/{src_file} - Only supported on Windows or *nix." ) ;
222222 }
223223 }
224224}
@@ -427,7 +427,7 @@ pub const LIBAFL_CC_LLVM_VERSION: Option<usize> = None;
427427 false ,
428428 ) ;
429429
430- for pass in & [
430+ for pass in [
431431 "function-logging.cc" ,
432432 "cmplog-routines-pass.cc" ,
433433 "autotokens-pass.cc" ,
@@ -443,12 +443,12 @@ pub const LIBAFL_CC_LLVM_VERSION: Option<usize> = None;
443443 src_dir,
444444 pass,
445445 None ,
446- false ,
446+ true ,
447447 ) ;
448448 }
449449
450450 // Optional pass
451- for pass in & [ "dump-cfg-pass.cc" , "profiling.cc" ] {
451+ for pass in [ "dump-cfg-pass.cc" , "profiling.cc" ] {
452452 build_pass (
453453 bindir_path,
454454 out_dir,
@@ -457,7 +457,7 @@ pub const LIBAFL_CC_LLVM_VERSION: Option<usize> = None;
457457 src_dir,
458458 pass,
459459 None ,
460- true ,
460+ false ,
461461 ) ;
462462 }
463463
0 commit comments