@@ -66,6 +66,7 @@ pub struct Config {
66
66
pub backtrace_on_ice : bool ,
67
67
68
68
// llvm codegen options
69
+ pub llvm_skip_rebuild : bool ,
69
70
pub llvm_assertions : bool ,
70
71
pub llvm_optimize : bool ,
71
72
pub llvm_thin_lto : bool ,
@@ -242,6 +243,7 @@ struct Install {
242
243
#[ derive( Deserialize , Default ) ]
243
244
#[ serde( deny_unknown_fields, rename_all = "kebab-case" ) ]
244
245
struct Llvm {
246
+ skip_rebuild : Option < bool > ,
245
247
optimize : Option < bool > ,
246
248
thin_lto : Option < bool > ,
247
249
release_debuginfo : Option < bool > ,
@@ -487,6 +489,7 @@ impl Config {
487
489
488
490
// Store off these values as options because if they're not provided
489
491
// we'll infer default values for them later
492
+ let mut llvm_skip_rebuild = None ;
490
493
let mut llvm_assertions = None ;
491
494
let mut debug = None ;
492
495
let mut debug_assertions = None ;
@@ -510,6 +513,7 @@ impl Config {
510
513
}
511
514
set ( & mut config. ninja , llvm. ninja ) ;
512
515
llvm_assertions = llvm. assertions ;
516
+ llvm_skip_rebuild = llvm. skip_rebuild ;
513
517
set ( & mut config. llvm_optimize , llvm. optimize ) ;
514
518
set ( & mut config. llvm_thin_lto , llvm. thin_lto ) ;
515
519
set ( & mut config. llvm_release_debuginfo , llvm. release_debuginfo ) ;
@@ -617,6 +621,8 @@ impl Config {
617
621
set ( & mut config. initial_rustc , build. rustc . map ( PathBuf :: from) ) ;
618
622
set ( & mut config. initial_cargo , build. cargo . map ( PathBuf :: from) ) ;
619
623
624
+ config. llvm_skip_rebuild = llvm_skip_rebuild. unwrap_or ( false ) ;
625
+
620
626
let default = false ;
621
627
config. llvm_assertions = llvm_assertions. unwrap_or ( default) ;
622
628
0 commit comments