@@ -108,6 +108,7 @@ pub struct Config {
108108 pub llvm_polly : bool ,
109109 pub llvm_clang : bool ,
110110 pub llvm_from_ci : bool ,
111+ pub llvm_build_config : HashMap < String , String > ,
111112
112113 pub use_lld : bool ,
113114 pub lld_enabled : bool ,
@@ -477,6 +478,7 @@ derive_merge! {
477478 polly: Option <bool >,
478479 clang: Option <bool >,
479480 download_ci_llvm: Option <StringOrBool >,
481+ build_config: Option <HashMap <String , String >>,
480482 }
481483}
482484
@@ -807,6 +809,7 @@ impl Config {
807809 config. llvm_allow_old_toolchain = llvm. allow_old_toolchain . unwrap_or ( false ) ;
808810 config. llvm_polly = llvm. polly . unwrap_or ( false ) ;
809811 config. llvm_clang = llvm. clang . unwrap_or ( false ) ;
812+ config. llvm_build_config = llvm. build_config . clone ( ) . unwrap_or ( Default :: default ( ) ) ;
810813 config. llvm_from_ci = match llvm. download_ci_llvm {
811814 Some ( StringOrBool :: String ( s) ) => {
812815 assert ! ( s == "if-available" , "unknown option `{}` for download-ci-llvm" , s) ;
@@ -876,6 +879,7 @@ impl Config {
876879 check_ci_llvm ! ( llvm. allow_old_toolchain) ;
877880 check_ci_llvm ! ( llvm. polly) ;
878881 check_ci_llvm ! ( llvm. clang) ;
882+ check_ci_llvm ! ( llvm. build_config) ;
879883 check_ci_llvm ! ( llvm. plugins) ;
880884
881885 // CI-built LLVM can be either dynamic or static.
0 commit comments