@@ -152,7 +152,7 @@ fn build_pass(
152
152
src_dir : & Path ,
153
153
src_file : & str ,
154
154
additional_srcfiles : Option < & Vec < & str > > ,
155
- optional : bool ,
155
+ required : bool ,
156
156
) {
157
157
let dot_offset = src_file. rfind ( '.' ) . unwrap ( ) ;
158
158
let src_stub = & src_file[ ..dot_offset] ;
@@ -164,7 +164,7 @@ fn build_pass(
164
164
} ;
165
165
166
166
println ! ( "cargo:rerun-if-changed=src/{src_file}" ) ;
167
- let r = if cfg ! ( unix) {
167
+ let command_result = if cfg ! ( unix) {
168
168
let r = Command :: new ( bindir_path. join ( "clang++" ) )
169
169
. arg ( "-v" )
170
170
. arg ( format ! ( "--target={}" , env:: var( "HOST" ) . unwrap( ) ) )
@@ -198,27 +198,27 @@ fn build_pass(
198
198
None
199
199
} ;
200
200
201
- match r {
202
- Some ( r ) => match r {
201
+ match command_result {
202
+ Some ( res ) => match res {
203
203
Ok ( s) => {
204
204
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}" ) ;
207
207
} 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}" ) ;
209
209
}
210
210
}
211
211
}
212
212
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}" ) ;
215
215
} else {
216
- panic ! ( "Failed to compile {src_file} - {err}" ) ;
216
+ println ! ( "cargo:warning=Skipping non-required compiler pass src/ {src_file} - Reason: {err}" ) ;
217
217
}
218
218
}
219
219
} ,
220
220
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." ) ;
222
222
}
223
223
}
224
224
}
@@ -427,7 +427,7 @@ pub const LIBAFL_CC_LLVM_VERSION: Option<usize> = None;
427
427
false ,
428
428
) ;
429
429
430
- for pass in & [
430
+ for pass in [
431
431
"function-logging.cc" ,
432
432
"cmplog-routines-pass.cc" ,
433
433
"autotokens-pass.cc" ,
@@ -443,12 +443,12 @@ pub const LIBAFL_CC_LLVM_VERSION: Option<usize> = None;
443
443
src_dir,
444
444
pass,
445
445
None ,
446
- false ,
446
+ true ,
447
447
) ;
448
448
}
449
449
450
450
// Optional pass
451
- for pass in & [ "dump-cfg-pass.cc" , "profiling.cc" ] {
451
+ for pass in [ "dump-cfg-pass.cc" , "profiling.cc" ] {
452
452
build_pass (
453
453
bindir_path,
454
454
out_dir,
@@ -457,7 +457,7 @@ pub const LIBAFL_CC_LLVM_VERSION: Option<usize> = None;
457
457
src_dir,
458
458
pass,
459
459
None ,
460
- true ,
460
+ false ,
461
461
) ;
462
462
}
463
463
0 commit comments