@@ -67,6 +67,7 @@ pub struct Config {
67
67
pub backtrace_on_ice : bool ,
68
68
69
69
// llvm codegen options
70
+ pub llvm_skip_rebuild : bool ,
70
71
pub llvm_assertions : bool ,
71
72
pub llvm_optimize : bool ,
72
73
pub llvm_thin_lto : bool ,
@@ -244,6 +245,7 @@ struct Install {
244
245
#[ derive( Deserialize , Default ) ]
245
246
#[ serde( deny_unknown_fields, rename_all = "kebab-case" ) ]
246
247
struct Llvm {
248
+ skip_rebuild : Option < bool > ,
247
249
optimize : Option < bool > ,
248
250
thin_lto : Option < bool > ,
249
251
release_debuginfo : Option < bool > ,
@@ -490,6 +492,7 @@ impl Config {
490
492
491
493
// Store off these values as options because if they're not provided
492
494
// we'll infer default values for them later
495
+ let mut llvm_skip_rebuild = None ;
493
496
let mut llvm_assertions = None ;
494
497
let mut debug = None ;
495
498
let mut debug_assertions = None ;
@@ -511,6 +514,7 @@ impl Config {
511
514
}
512
515
set ( & mut config. ninja , llvm. ninja ) ;
513
516
llvm_assertions = llvm. assertions ;
517
+ llvm_skip_rebuild = llvm. skip_rebuild ;
514
518
set ( & mut config. llvm_optimize , llvm. optimize ) ;
515
519
set ( & mut config. llvm_thin_lto , llvm. thin_lto ) ;
516
520
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