• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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         return;
17     }
18 
19     if let Ok(v) = env::var("DEP_OPENSSL_LIBRESSL_VERSION") {
20         println!("cargo:rustc-cfg=libressl{}", v);
21     }
22 
23     if let Ok(vars) = env::var("DEP_OPENSSL_CONF") {
24         for var in vars.split(',') {
25             println!("cargo:rustc-cfg=osslconf=\"{}\"", var);
26         }
27     }
28 
29     if let Ok(version) = env::var("DEP_OPENSSL_VERSION_NUMBER") {
30         let version = u64::from_str_radix(&version, 16).unwrap();
31 
32         if version >= 0x1_00_01_00_0 {
33             println!("cargo:rustc-cfg=ossl101");
34         }
35         if version >= 0x1_00_02_00_0 {
36             println!("cargo:rustc-cfg=ossl102");
37         }
38         if version >= 0x1_01_00_00_0 {
39             println!("cargo:rustc-cfg=ossl110");
40         }
41         if version >= 0x1_01_00_07_0 {
42             println!("cargo:rustc-cfg=ossl110g");
43         }
44         if version >= 0x1_01_00_08_0 {
45             println!("cargo:rustc-cfg=ossl110h");
46         }
47         if version >= 0x1_01_01_00_0 {
48             println!("cargo:rustc-cfg=ossl111");
49         }
50         if version >= 0x3_00_00_00_0 {
51             println!("cargo:rustc-cfg=ossl300");
52         }
53     }
54 
55     if let Ok(version) = env::var("DEP_OPENSSL_LIBRESSL_VERSION_NUMBER") {
56         let version = u64::from_str_radix(&version, 16).unwrap();
57 
58         if version >= 0x2_05_01_00_0 {
59             println!("cargo:rustc-cfg=libressl251");
60         }
61 
62         if version >= 0x2_06_01_00_0 {
63             println!("cargo:rustc-cfg=libressl261");
64         }
65 
66         if version >= 0x2_07_00_00_0 {
67             println!("cargo:rustc-cfg=libressl270");
68         }
69 
70         if version >= 0x2_07_01_00_0 {
71             println!("cargo:rustc-cfg=libressl271");
72         }
73 
74         if version >= 0x2_07_03_00_0 {
75             println!("cargo:rustc-cfg=libressl273");
76         }
77 
78         if version >= 0x2_08_00_00_0 {
79             println!("cargo:rustc-cfg=libressl280");
80         }
81 
82         if version >= 0x2_09_01_00_0 {
83             println!("cargo:rustc-cfg=libressl291");
84         }
85 
86         if version >= 0x3_02_01_00_0 {
87             println!("cargo:rustc-cfg=libressl321");
88         }
89 
90         if version >= 0x3_03_02_00_0 {
91             println!("cargo:rustc-cfg=libressl332");
92         }
93 
94         if version >= 0x3_04_00_00_0 {
95             println!("cargo:rustc-cfg=libressl340");
96         }
97 
98         if version >= 0x3_05_00_00_0 {
99             println!("cargo:rustc-cfg=libressl350");
100         }
101 
102         if version >= 0x3_06_00_00_0 {
103             println!("cargo:rustc-cfg=libressl360");
104         }
105 
106         if version >= 0x3_06_01_00_0 {
107             println!("cargo:rustc-cfg=libressl361");
108         }
109     }
110 }
111