1 #![allow(
2     clippy::inconsistent_digit_grouping,
3     clippy::uninlined_format_args,
4     clippy::unusual_byte_groupings
5 )]
6 
7 use std::env;
8 
mainnull9 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         return;
17     }
18 
19     if let Ok(v) = env::var("DEP_OPENSSL_LIBRESSL_VERSION_NUMBER") {
20         let version = u64::from_str_radix(&v, 16).unwrap();
21 
22         if version >= 0x2_05_00_00_0 {
23             println!("cargo:rustc-cfg=libressl250");
24         }
25         if version >= 0x2_05_01_00_0 {
26             println!("cargo:rustc-cfg=libressl251");
27         }
28         if version >= 0x2_06_01_00_0 {
29             println!("cargo:rustc-cfg=libressl261");
30         }
31         if version >= 0x2_07_00_00_0 {
32             println!("cargo:rustc-cfg=libressl270");
33         }
34         if version >= 0x2_07_01_00_0 {
35             println!("cargo:rustc-cfg=libressl271");
36         }
37         if version >= 0x2_07_03_00_0 {
38             println!("cargo:rustc-cfg=libressl273");
39         }
40         if version >= 0x2_08_00_00_0 {
41             println!("cargo:rustc-cfg=libressl280");
42         }
43         if version >= 0x2_09_01_00_0 {
44             println!("cargo:rustc-cfg=libressl291");
45         }
46         if version >= 0x3_01_00_00_0 {
47             println!("cargo:rustc-cfg=libressl310");
48         }
49         if version >= 0x3_02_01_00_0 {
50             println!("cargo:rustc-cfg=libressl321");
51         }
52         if version >= 0x3_03_02_00_0 {
53             println!("cargo:rustc-cfg=libressl332");
54         }
55         if version >= 0x3_04_00_00_0 {
56             println!("cargo:rustc-cfg=libressl340");
57         }
58         if version >= 0x3_05_00_00_0 {
59             println!("cargo:rustc-cfg=libressl350");
60         }
61         if version >= 0x3_06_00_00_0 {
62             println!("cargo:rustc-cfg=libressl360");
63         }
64         if version >= 0x3_06_01_00_0 {
65             println!("cargo:rustc-cfg=libressl361");
66         }
67         if version >= 0x3_07_00_00_0 {
68             println!("cargo:rustc-cfg=libressl370");
69         }
70     }
71 
72     if let Ok(vars) = env::var("DEP_OPENSSL_CONF") {
73         for var in vars.split(',') {
74             println!("cargo:rustc-cfg=osslconf=\"{}\"", var);
75         }
76     }
77 
78     if let Ok(version) = env::var("DEP_OPENSSL_VERSION_NUMBER") {
79         let version = u64::from_str_radix(&version, 16).unwrap();
80 
81         if version >= 0x1_00_01_00_0 {
82             println!("cargo:rustc-cfg=ossl101");
83         }
84         if version >= 0x1_00_02_00_0 {
85             println!("cargo:rustc-cfg=ossl102");
86         }
87         if version >= 0x1_01_00_00_0 {
88             println!("cargo:rustc-cfg=ossl110");
89         }
90         if version >= 0x1_01_00_07_0 {
91             println!("cargo:rustc-cfg=ossl110g");
92         }
93         if version >= 0x1_01_00_08_0 {
94             println!("cargo:rustc-cfg=ossl110h");
95         }
96         if version >= 0x1_01_01_00_0 {
97             println!("cargo:rustc-cfg=ossl111");
98         }
99         if version >= 0x3_00_00_00_0 {
100             println!("cargo:rustc-cfg=ossl300");
101         }
102         if version >= 0x3_01_00_00_0 {
103             println!("cargo:rustc-cfg=ossl310");
104         }
105     }
106 
107     if let Ok(version) = env::var("DEP_OPENSSL_LIBRESSL_VERSION_NUMBER") {
108         let version = u64::from_str_radix(&version, 16).unwrap();
109 
110         if version >= 0x2_05_01_00_0 {
111             println!("cargo:rustc-cfg=libressl251");
112         }
113 
114         if version >= 0x2_06_01_00_0 {
115             println!("cargo:rustc-cfg=libressl261");
116         }
117 
118         if version >= 0x2_07_00_00_0 {
119             println!("cargo:rustc-cfg=libressl270");
120         }
121 
122         if version >= 0x2_07_01_00_0 {
123             println!("cargo:rustc-cfg=libressl271");
124         }
125 
126         if version >= 0x2_07_03_00_0 {
127             println!("cargo:rustc-cfg=libressl273");
128         }
129 
130         if version >= 0x2_08_00_00_0 {
131             println!("cargo:rustc-cfg=libressl280");
132         }
133 
134         if version >= 0x2_09_01_00_0 {
135             println!("cargo:rustc-cfg=libressl291");
136         }
137 
138         if version >= 0x3_02_01_00_0 {
139             println!("cargo:rustc-cfg=libressl321");
140         }
141 
142         if version >= 0x3_03_02_00_0 {
143             println!("cargo:rustc-cfg=libressl332");
144         }
145 
146         if version >= 0x3_04_00_00_0 {
147             println!("cargo:rustc-cfg=libressl340");
148         }
149 
150         if version >= 0x3_05_00_00_0 {
151             println!("cargo:rustc-cfg=libressl350");
152         }
153 
154         if version >= 0x3_06_00_00_0 {
155             println!("cargo:rustc-cfg=libressl360");
156         }
157 
158         if version >= 0x3_06_01_00_0 {
159             println!("cargo:rustc-cfg=libressl361");
160         }
161     }
162 }
163