@@ -108,6 +108,7 @@ pub struct Config {
108
108
pub llvm_polly : bool ,
109
109
pub llvm_clang : bool ,
110
110
pub llvm_from_ci : bool ,
111
+ pub llvm_build_config : HashMap < String , String > ,
111
112
112
113
pub use_lld : bool ,
113
114
pub lld_enabled : bool ,
@@ -477,6 +478,7 @@ derive_merge! {
477
478
polly: Option <bool >,
478
479
clang: Option <bool >,
479
480
download_ci_llvm: Option <StringOrBool >,
481
+ build_config: Option <HashMap <String , String >>,
480
482
}
481
483
}
482
484
@@ -807,6 +809,7 @@ impl Config {
807
809
config. llvm_allow_old_toolchain = llvm. allow_old_toolchain . unwrap_or ( false ) ;
808
810
config. llvm_polly = llvm. polly . unwrap_or ( false ) ;
809
811
config. llvm_clang = llvm. clang . unwrap_or ( false ) ;
812
+ config. llvm_build_config = llvm. build_config . clone ( ) . unwrap_or ( Default :: default ( ) ) ;
810
813
config. llvm_from_ci = match llvm. download_ci_llvm {
811
814
Some ( StringOrBool :: String ( s) ) => {
812
815
assert ! ( s == "if-available" , "unknown option `{}` for download-ci-llvm" , s) ;
@@ -876,6 +879,7 @@ impl Config {
876
879
check_ci_llvm ! ( llvm. allow_old_toolchain) ;
877
880
check_ci_llvm ! ( llvm. polly) ;
878
881
check_ci_llvm ! ( llvm. clang) ;
882
+ check_ci_llvm ! ( llvm. build_config) ;
879
883
check_ci_llvm ! ( llvm. plugins) ;
880
884
881
885
// CI-built LLVM can be either dynamic or static.
0 commit comments