192f3ab15Sopenharmony_ci#![allow(
292f3ab15Sopenharmony_ci    clippy::inconsistent_digit_grouping,
392f3ab15Sopenharmony_ci    clippy::uninlined_format_args,
492f3ab15Sopenharmony_ci    clippy::unusual_byte_groupings
592f3ab15Sopenharmony_ci)]
692f3ab15Sopenharmony_ci
792f3ab15Sopenharmony_ciuse std::env;
892f3ab15Sopenharmony_ci
992f3ab15Sopenharmony_cifn main() {
1092f3ab15Sopenharmony_ci    if env::var("DEP_OPENSSL_LIBRESSL").is_ok() {
1192f3ab15Sopenharmony_ci        println!("cargo:rustc-cfg=libressl");
1292f3ab15Sopenharmony_ci    }
1392f3ab15Sopenharmony_ci
1492f3ab15Sopenharmony_ci    if env::var("DEP_OPENSSL_BORINGSSL").is_ok() {
1592f3ab15Sopenharmony_ci        println!("cargo:rustc-cfg=boringssl");
1692f3ab15Sopenharmony_ci        return;
1792f3ab15Sopenharmony_ci    }
1892f3ab15Sopenharmony_ci
1992f3ab15Sopenharmony_ci    if let Ok(v) = env::var("DEP_OPENSSL_LIBRESSL_VERSION_NUMBER") {
2092f3ab15Sopenharmony_ci        let version = u64::from_str_radix(&v, 16).unwrap();
2192f3ab15Sopenharmony_ci
2292f3ab15Sopenharmony_ci        if version >= 0x2_05_00_00_0 {
2392f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl250");
2492f3ab15Sopenharmony_ci        }
2592f3ab15Sopenharmony_ci        if version >= 0x2_05_01_00_0 {
2692f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl251");
2792f3ab15Sopenharmony_ci        }
2892f3ab15Sopenharmony_ci        if version >= 0x2_06_01_00_0 {
2992f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl261");
3092f3ab15Sopenharmony_ci        }
3192f3ab15Sopenharmony_ci        if version >= 0x2_07_00_00_0 {
3292f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl270");
3392f3ab15Sopenharmony_ci        }
3492f3ab15Sopenharmony_ci        if version >= 0x2_07_01_00_0 {
3592f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl271");
3692f3ab15Sopenharmony_ci        }
3792f3ab15Sopenharmony_ci        if version >= 0x2_07_03_00_0 {
3892f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl273");
3992f3ab15Sopenharmony_ci        }
4092f3ab15Sopenharmony_ci        if version >= 0x2_08_00_00_0 {
4192f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl280");
4292f3ab15Sopenharmony_ci        }
4392f3ab15Sopenharmony_ci        if version >= 0x2_09_01_00_0 {
4492f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl291");
4592f3ab15Sopenharmony_ci        }
4692f3ab15Sopenharmony_ci        if version >= 0x3_01_00_00_0 {
4792f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl310");
4892f3ab15Sopenharmony_ci        }
4992f3ab15Sopenharmony_ci        if version >= 0x3_02_01_00_0 {
5092f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl321");
5192f3ab15Sopenharmony_ci        }
5292f3ab15Sopenharmony_ci        if version >= 0x3_03_02_00_0 {
5392f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl332");
5492f3ab15Sopenharmony_ci        }
5592f3ab15Sopenharmony_ci        if version >= 0x3_04_00_00_0 {
5692f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl340");
5792f3ab15Sopenharmony_ci        }
5892f3ab15Sopenharmony_ci        if version >= 0x3_05_00_00_0 {
5992f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl350");
6092f3ab15Sopenharmony_ci        }
6192f3ab15Sopenharmony_ci        if version >= 0x3_06_00_00_0 {
6292f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl360");
6392f3ab15Sopenharmony_ci        }
6492f3ab15Sopenharmony_ci        if version >= 0x3_06_01_00_0 {
6592f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl361");
6692f3ab15Sopenharmony_ci        }
6792f3ab15Sopenharmony_ci        if version >= 0x3_07_00_00_0 {
6892f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl370");
6992f3ab15Sopenharmony_ci        }
7092f3ab15Sopenharmony_ci    }
7192f3ab15Sopenharmony_ci
7292f3ab15Sopenharmony_ci    if let Ok(vars) = env::var("DEP_OPENSSL_CONF") {
7392f3ab15Sopenharmony_ci        for var in vars.split(',') {
7492f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=osslconf=\"{}\"", var);
7592f3ab15Sopenharmony_ci        }
7692f3ab15Sopenharmony_ci    }
7792f3ab15Sopenharmony_ci
7892f3ab15Sopenharmony_ci    if let Ok(version) = env::var("DEP_OPENSSL_VERSION_NUMBER") {
7992f3ab15Sopenharmony_ci        let version = u64::from_str_radix(&version, 16).unwrap();
8092f3ab15Sopenharmony_ci
8192f3ab15Sopenharmony_ci        if version >= 0x1_00_01_00_0 {
8292f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=ossl101");
8392f3ab15Sopenharmony_ci        }
8492f3ab15Sopenharmony_ci        if version >= 0x1_00_02_00_0 {
8592f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=ossl102");
8692f3ab15Sopenharmony_ci        }
8792f3ab15Sopenharmony_ci        if version >= 0x1_01_00_00_0 {
8892f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=ossl110");
8992f3ab15Sopenharmony_ci        }
9092f3ab15Sopenharmony_ci        if version >= 0x1_01_00_07_0 {
9192f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=ossl110g");
9292f3ab15Sopenharmony_ci        }
9392f3ab15Sopenharmony_ci        if version >= 0x1_01_00_08_0 {
9492f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=ossl110h");
9592f3ab15Sopenharmony_ci        }
9692f3ab15Sopenharmony_ci        if version >= 0x1_01_01_00_0 {
9792f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=ossl111");
9892f3ab15Sopenharmony_ci        }
9992f3ab15Sopenharmony_ci        if version >= 0x3_00_00_00_0 {
10092f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=ossl300");
10192f3ab15Sopenharmony_ci        }
10292f3ab15Sopenharmony_ci        if version >= 0x3_01_00_00_0 {
10392f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=ossl310");
10492f3ab15Sopenharmony_ci        }
10592f3ab15Sopenharmony_ci    }
10692f3ab15Sopenharmony_ci
10792f3ab15Sopenharmony_ci    if let Ok(version) = env::var("DEP_OPENSSL_LIBRESSL_VERSION_NUMBER") {
10892f3ab15Sopenharmony_ci        let version = u64::from_str_radix(&version, 16).unwrap();
10992f3ab15Sopenharmony_ci
11092f3ab15Sopenharmony_ci        if version >= 0x2_05_01_00_0 {
11192f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl251");
11292f3ab15Sopenharmony_ci        }
11392f3ab15Sopenharmony_ci
11492f3ab15Sopenharmony_ci        if version >= 0x2_06_01_00_0 {
11592f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl261");
11692f3ab15Sopenharmony_ci        }
11792f3ab15Sopenharmony_ci
11892f3ab15Sopenharmony_ci        if version >= 0x2_07_00_00_0 {
11992f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl270");
12092f3ab15Sopenharmony_ci        }
12192f3ab15Sopenharmony_ci
12292f3ab15Sopenharmony_ci        if version >= 0x2_07_01_00_0 {
12392f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl271");
12492f3ab15Sopenharmony_ci        }
12592f3ab15Sopenharmony_ci
12692f3ab15Sopenharmony_ci        if version >= 0x2_07_03_00_0 {
12792f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl273");
12892f3ab15Sopenharmony_ci        }
12992f3ab15Sopenharmony_ci
13092f3ab15Sopenharmony_ci        if version >= 0x2_08_00_00_0 {
13192f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl280");
13292f3ab15Sopenharmony_ci        }
13392f3ab15Sopenharmony_ci
13492f3ab15Sopenharmony_ci        if version >= 0x2_09_01_00_0 {
13592f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl291");
13692f3ab15Sopenharmony_ci        }
13792f3ab15Sopenharmony_ci
13892f3ab15Sopenharmony_ci        if version >= 0x3_02_01_00_0 {
13992f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl321");
14092f3ab15Sopenharmony_ci        }
14192f3ab15Sopenharmony_ci
14292f3ab15Sopenharmony_ci        if version >= 0x3_03_02_00_0 {
14392f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl332");
14492f3ab15Sopenharmony_ci        }
14592f3ab15Sopenharmony_ci
14692f3ab15Sopenharmony_ci        if version >= 0x3_04_00_00_0 {
14792f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl340");
14892f3ab15Sopenharmony_ci        }
14992f3ab15Sopenharmony_ci
15092f3ab15Sopenharmony_ci        if version >= 0x3_05_00_00_0 {
15192f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl350");
15292f3ab15Sopenharmony_ci        }
15392f3ab15Sopenharmony_ci
15492f3ab15Sopenharmony_ci        if version >= 0x3_06_00_00_0 {
15592f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl360");
15692f3ab15Sopenharmony_ci        }
15792f3ab15Sopenharmony_ci
15892f3ab15Sopenharmony_ci        if version >= 0x3_06_01_00_0 {
15992f3ab15Sopenharmony_ci            println!("cargo:rustc-cfg=libressl361");
16092f3ab15Sopenharmony_ci        }
16192f3ab15Sopenharmony_ci    }
16292f3ab15Sopenharmony_ci}
163