@@ -67,6 +67,7 @@ pub struct Config {
6767 pub backtrace_on_ice : bool ,
6868
6969 // llvm codegen options
70+ pub llvm_skip_rebuild : bool ,
7071 pub llvm_assertions : bool ,
7172 pub llvm_optimize : bool ,
7273 pub llvm_thin_lto : bool ,
@@ -244,6 +245,7 @@ struct Install {
244245#[ derive( Deserialize , Default ) ]
245246#[ serde( deny_unknown_fields, rename_all = "kebab-case" ) ]
246247struct Llvm {
248+ skip_rebuild : Option < bool > ,
247249 optimize : Option < bool > ,
248250 thin_lto : Option < bool > ,
249251 release_debuginfo : Option < bool > ,
@@ -490,6 +492,7 @@ impl Config {
490492
491493 // Store off these values as options because if they're not provided
492494 // we'll infer default values for them later
495+ let mut llvm_skip_rebuild = None ;
493496 let mut llvm_assertions = None ;
494497 let mut debug = None ;
495498 let mut debug_assertions = None ;
@@ -511,6 +514,7 @@ impl Config {
511514 }
512515 set ( & mut config. ninja , llvm. ninja ) ;
513516 llvm_assertions = llvm. assertions ;
517+ llvm_skip_rebuild = llvm. skip_rebuild ;
514518 set ( & mut config. llvm_optimize , llvm. optimize ) ;
515519 set ( & mut config. llvm_thin_lto , llvm. thin_lto ) ;
516520 set ( & mut config. llvm_release_debuginfo , llvm. release_debuginfo ) ;
@@ -617,6 +621,8 @@ impl Config {
617621 set ( & mut config. initial_rustc , build. rustc . map ( PathBuf :: from) ) ;
618622 set ( & mut config. initial_cargo , build. cargo . map ( PathBuf :: from) ) ;
619623
624+ config. llvm_skip_rebuild = llvm_skip_rebuild. unwrap_or ( false ) ;
625+
620626 let default = false ;
621627 config. llvm_assertions = llvm_assertions. unwrap_or ( default) ;
622628
0 commit comments