1#[allow(clippy::unusual_byte_groupings)]
2pub fn get(openssl_version: Option<u64>, libressl_version: Option<u64>) -> Vec<&'static str> {
3    let mut cfgs = vec![];
4
5    if let Some(libressl_version) = libressl_version {
6        cfgs.push("libressl");
7
8        if libressl_version >= 0x2_05_01_00_0 {
9            cfgs.push("libressl251");
10        }
11        if libressl_version >= 0x2_05_02_00_0 {
12            cfgs.push("libressl252");
13        }
14        if libressl_version >= 0x2_06_01_00_0 {
15            cfgs.push("libressl261");
16        }
17        if libressl_version >= 0x2_07_00_00_0 {
18            cfgs.push("libressl270");
19        }
20        if libressl_version >= 0x2_07_01_00_0 {
21            cfgs.push("libressl271");
22        }
23        if libressl_version >= 0x2_07_03_00_0 {
24            cfgs.push("libressl273");
25        }
26        if libressl_version >= 0x2_08_00_00_0 {
27            cfgs.push("libressl280");
28        }
29        if libressl_version >= 0x2_08_01_00_0 {
30            cfgs.push("libressl281");
31        }
32        if libressl_version >= 0x2_09_01_00_0 {
33            cfgs.push("libressl291");
34        }
35        if libressl_version >= 0x3_01_00_00_0 {
36            cfgs.push("libressl310");
37        }
38        if libressl_version >= 0x3_02_01_00_0 {
39            cfgs.push("libressl321");
40        }
41        if libressl_version >= 0x3_03_02_00_0 {
42            cfgs.push("libressl332");
43        }
44        if libressl_version >= 0x3_04_00_00_0 {
45            cfgs.push("libressl340");
46        }
47        if libressl_version >= 0x3_05_00_00_0 {
48            cfgs.push("libressl350");
49        }
50        if libressl_version >= 0x3_06_00_00_0 {
51            cfgs.push("libressl360");
52        }
53        if libressl_version >= 0x3_07_00_00_0 {
54            cfgs.push("libressl370");
55        }
56    } else {
57        let openssl_version = openssl_version.unwrap();
58
59        if openssl_version >= 0x3_00_00_00_0 {
60            cfgs.push("ossl300");
61        }
62        if openssl_version >= 0x1_00_01_00_0 {
63            cfgs.push("ossl101");
64        }
65        if openssl_version >= 0x1_00_02_00_0 {
66            cfgs.push("ossl102");
67        }
68        if openssl_version >= 0x1_00_02_06_0 {
69            cfgs.push("ossl102f");
70        }
71        if openssl_version >= 0x1_00_02_08_0 {
72            cfgs.push("ossl102h");
73        }
74        if openssl_version >= 0x1_01_00_00_0 {
75            cfgs.push("ossl110");
76        }
77        if openssl_version >= 0x1_01_00_06_0 {
78            cfgs.push("ossl110f");
79        }
80        if openssl_version >= 0x1_01_00_07_0 {
81            cfgs.push("ossl110g");
82        }
83        if openssl_version >= 0x1_01_00_08_0 {
84            cfgs.push("ossl110h");
85        }
86        if openssl_version >= 0x1_01_01_00_0 {
87            cfgs.push("ossl111");
88        }
89        if openssl_version >= 0x1_01_01_02_0 {
90            cfgs.push("ossl111b");
91        }
92        if openssl_version >= 0x1_01_01_03_0 {
93            cfgs.push("ossl111c");
94        }
95        if openssl_version >= 0x1_01_01_04_0 {
96            cfgs.push("ossl111d");
97        }
98    }
99
100    cfgs
101}
102