@@ -64,7 +64,6 @@ pub struct Config {
6464 pub backtrace_on_ice : bool ,
6565
6666 // llvm codegen options
67- pub llvm_enabled : bool ,
6867 pub llvm_assertions : bool ,
6968 pub llvm_optimize : bool ,
7069 pub llvm_thin_lto : bool ,
@@ -244,7 +243,6 @@ struct Install {
244243#[ derive( Deserialize , Default ) ]
245244#[ serde( deny_unknown_fields, rename_all = "kebab-case" ) ]
246245struct Llvm {
247- enabled : Option < bool > ,
248246 ccache : Option < StringOrBool > ,
249247 ninja : Option < bool > ,
250248 assertions : Option < bool > ,
@@ -360,7 +358,6 @@ impl Config {
360358
361359 pub fn default_opts ( ) -> Config {
362360 let mut config = Config :: default ( ) ;
363- config. llvm_enabled = true ;
364361 config. llvm_optimize = true ;
365362 config. llvm_version_check = true ;
366363 config. backtrace = true ;
@@ -512,7 +509,6 @@ impl Config {
512509 Some ( StringOrBool :: Bool ( false ) ) | None => { }
513510 }
514511 set ( & mut config. ninja , llvm. ninja ) ;
515- set ( & mut config. llvm_enabled , llvm. enabled ) ;
516512 llvm_assertions = llvm. assertions ;
517513 set ( & mut config. llvm_optimize , llvm. optimize ) ;
518514 set ( & mut config. llvm_thin_lto , llvm. thin_lto ) ;
@@ -671,6 +667,11 @@ impl Config {
671667 pub fn very_verbose ( & self ) -> bool {
672668 self . verbose > 1
673669 }
670+
671+ pub fn llvm_enabled ( & self ) -> bool {
672+ self . rust_codegen_backends . contains ( & INTERNER . intern_str ( "llvm" ) )
673+ || self . rust_codegen_backends . contains ( & INTERNER . intern_str ( "emscripten" ) )
674+ }
674675}
675676
676677fn set < T > ( field : & mut T , val : Option < T > ) {
0 commit comments