1 #![allow(
2     clippy::inconsistent_digit_grouping,
3     clippy::uninlined_format_args,
4     clippy::unusual_byte_groupings
5 )]
6 
7 use std::env;
8 
main()9 fn main() {
10     if env::var("DEP_OPENSSL_LIBRESSL").is_ok() {
11         println!("cargo:rustc-cfg=libressl");
12     }
13 
14     if env::var("DEP_OPENSSL_BORINGSSL").is_ok() {
15         println!("cargo:rustc-cfg=boringssl");
16     }
17 
18     if let Ok(v) = env::var("DEP_OPENSSL_LIBRESSL_VERSION_NUMBER") {
19         let version = u64::from_str_radix(&v, 16).unwrap();
20 
21         if version >= 0x2_05_00_00_0 {
22             println!("cargo:rustc-cfg=libressl250");
23         }
24         if version >= 0x2_05_01_00_0 {
25             println!("cargo:rustc-cfg=libressl251");
26         }
27         if version >= 0x2_06_01_00_0 {
28             println!("cargo:rustc-cfg=libressl261");
29         }
30         if version >= 0x2_07_00_00_0 {
31             println!("cargo:rustc-cfg=libressl270");
32         }
33         if version >= 0x2_07_01_00_0 {
34             println!("cargo:rustc-cfg=libressl271");
35         }
36         if version >= 0x2_07_03_00_0 {
37             println!("cargo:rustc-cfg=libressl273");
38         }
39         if version >= 0x2_08_00_00_0 {
40             println!("cargo:rustc-cfg=libressl280");
41         }
42         if version >= 0x2_09_01_00_0 {
43             println!("cargo:rustc-cfg=libressl291");
44         }
45         if version >= 0x3_01_00_00_0 {
46             println!("cargo:rustc-cfg=libressl310");
47         }
48         if version >= 0x3_02_01_00_0 {
49             println!("cargo:rustc-cfg=libressl321");
50         }
51         if version >= 0x3_03_02_00_0 {
52             println!("cargo:rustc-cfg=libressl332");
53         }
54         if version >= 0x3_04_00_00_0 {
55             println!("cargo:rustc-cfg=libressl340");
56         }
57         if version >= 0x3_05_00_00_0 {
58             println!("cargo:rustc-cfg=libressl350");
59         }
60         if version >= 0x3_06_00_00_0 {
61             println!("cargo:rustc-cfg=libressl360");
62         }
63         if version >= 0x3_06_01_00_0 {
64             println!("cargo:rustc-cfg=libressl361");
65         }
66         if version >= 0x3_07_00_00_0 {
67             println!("cargo:rustc-cfg=libressl370");
68         }
69         if version >= 0x3_08_00_00_0 {
70             println!("cargo:rustc-cfg=libressl380");
71         }
72         if version >= 0x3_08_02_00_0 {
73             println!("cargo:rustc-cfg=libressl382");
74         }
75         if version >= 0x3_09_00_00_0 {
76             println!("cargo:rustc-cfg=libressl390");
77         }
78     }
79 
80     if let Ok(vars) = env::var("DEP_OPENSSL_CONF") {
81         for var in vars.split(',') {
82             println!("cargo:rustc-cfg=osslconf=\"{}\"", var);
83         }
84     }
85 
86     if let Ok(version) = env::var("DEP_OPENSSL_VERSION_NUMBER") {
87         let version = u64::from_str_radix(&version, 16).unwrap();
88 
89         if version >= 0x1_00_01_00_0 {
90             println!("cargo:rustc-cfg=ossl101");
91         }
92         if version >= 0x1_00_02_00_0 {
93             println!("cargo:rustc-cfg=ossl102");
94         }
95         if version >= 0x1_01_00_00_0 {
96             println!("cargo:rustc-cfg=ossl110");
97         }
98         if version >= 0x1_01_00_07_0 {
99             println!("cargo:rustc-cfg=ossl110g");
100         }
101         if version >= 0x1_01_00_08_0 {
102             println!("cargo:rustc-cfg=ossl110h");
103         }
104         if version >= 0x1_01_01_00_0 {
105             println!("cargo:rustc-cfg=ossl111");
106         }
107         if version >= 0x3_00_00_00_0 {
108             println!("cargo:rustc-cfg=ossl300");
109         }
110         if version >= 0x3_01_00_00_0 {
111             println!("cargo:rustc-cfg=ossl310");
112         }
113         if version >= 0x3_02_00_00_0 {
114             println!("cargo:rustc-cfg=ossl320");
115         }
116     }
117 }
118