@@ -15,9 +15,14 @@ fn main() {
15
15
let version = version
16
16
. lines ( )
17
17
. find ( |l| !l. is_empty ( ) && !l. starts_with ( '#' ) )
18
- . and_then ( |s| s. parse :: < u32 > ( ) . ok ( ) )
19
- . unwrap_or ( 10000 ) ;
20
- println ! ( "got version: {}" , version) ;
18
+ . and_then ( |s| {
19
+ let mut parts = s. split_whitespace ( ) ;
20
+ let major = parts. next ( ) ?. parse :: < u32 > ( ) . ok ( ) ?;
21
+ let minor = parts. next ( ) ?. parse :: < u32 > ( ) . ok ( ) ?;
22
+ Some ( ( major, minor) )
23
+ } )
24
+ . unwrap_or ( ( 10000 , 0 ) ) ;
25
+ println ! ( "got version: {version:?}" ) ;
21
26
22
27
if env:: var ( "TARGET" ) . unwrap ( ) . contains ( "msvc" ) {
23
28
cfg. flag ( "/wd4574" ) ; // did you mean to use '#if INCL_WINSOCK_API_TYPEDEFS'
@@ -39,20 +44,21 @@ fn main() {
39
44
"curl_khtype" | "curl_khstat" | "curl_khmatch" => format ! ( "enum {}" , s) ,
40
45
s if is_struct => format ! ( "struct {}" , s) ,
41
46
"sockaddr" => "struct sockaddr" . to_string ( ) ,
47
+ "__enum_ty" => "unsigned" . to_string ( ) ,
42
48
s => s. to_string ( ) ,
43
49
} ) ;
44
50
// cfg.fn_cname(|s, l| l.unwrap_or(s).to_string());
45
51
cfg. skip_type ( |n| n == "__enum_ty" ) ;
46
52
cfg. skip_signededness ( |s| s. ends_with ( "callback" ) || s. ends_with ( "function" ) ) ;
47
53
48
54
cfg. skip_struct ( move |s| {
49
- if version < 71 {
55
+ if version < ( 7 , 71 ) {
50
56
match s {
51
57
"curl_blob" => return true ,
52
58
_ => { }
53
59
}
54
60
}
55
- if version < 87 {
61
+ if version < ( 8 , 10 ) {
56
62
match s {
57
63
"curl_version_info_data" => return true ,
58
64
_ => { }
@@ -64,13 +70,22 @@ fn main() {
64
70
65
71
// Version symbols are extracted from https://curl.se/libcurl/c/symbols-in-versions.html
66
72
cfg. skip_const ( move |s| {
67
- if version < 87 {
73
+ if version < ( 8 , 10 ) {
68
74
match s {
69
- "CURLVERSION_ELEVENTH" | "CURLVERSION_NOW" => return true ,
75
+ "CURLVERSION_TWELFTH"
76
+ | "CURLVERSION_NOW"
77
+ | "CURLOPT_WRITEINFO"
78
+ | "CURLOPT_CLOSEPOLICY" => return true ,
70
79
_ => { }
71
80
}
72
81
}
73
- if version < 77 {
82
+ if version < ( 7 , 87 ) {
83
+ match s {
84
+ "CURLVERSION_ELEVENTH" => return true ,
85
+ _ => { }
86
+ }
87
+ }
88
+ if version < ( 7 , 77 ) {
74
89
match s {
75
90
"CURLVERSION_TENTH"
76
91
| "CURLOPT_CAINFO_BLOB"
@@ -84,29 +99,29 @@ fn main() {
84
99
_ => { }
85
100
}
86
101
}
87
- if version < 76 {
102
+ if version < ( 7 , 76 ) {
88
103
match s {
89
104
"CURLOPT_DOH_SSL_VERIFYHOST" => return true ,
90
105
"CURLOPT_DOH_SSL_VERIFYPEER" => return true ,
91
106
"CURLOPT_DOH_SSL_VERIFYSTATUS" => return true ,
92
107
_ => { }
93
108
}
94
109
}
95
- if version < 75 {
110
+ if version < ( 7 , 75 ) {
96
111
match s {
97
112
"CURLAUTH_AWS_SIGV4" => return true ,
98
113
"CURLOPT_AWS_SIGV4" => return true ,
99
114
"CURLVERSION_NINTH" => return true ,
100
115
_ => { }
101
116
}
102
117
}
103
- if version < 72 {
118
+ if version < ( 7 , 72 ) {
104
119
match s {
105
120
"CURLVERSION_EIGHTH" => return true ,
106
121
_ => { }
107
122
}
108
123
}
109
- if version < 71 {
124
+ if version < ( 7 , 71 ) {
110
125
match s {
111
126
"CURLOPT_SSLCERT_BLOB"
112
127
| "CURLOPT_SSLKEY_BLOB"
@@ -122,7 +137,7 @@ fn main() {
122
137
_ => { }
123
138
}
124
139
}
125
- if version < 70 {
140
+ if version < ( 7 , 70 ) {
126
141
match s {
127
142
"CURL_VERSION_HTTP3"
128
143
| "CURL_VERSION_BROTLI"
@@ -131,32 +146,32 @@ fn main() {
131
146
_ => { }
132
147
}
133
148
}
134
- if version < 68 {
149
+ if version < ( 7 , 68 ) {
135
150
match s {
136
151
"CURLSSLOPT_NO_PARTIALCHAIN" => return true ,
137
152
_ => { }
138
153
}
139
154
}
140
- if version < 67 {
155
+ if version < ( 7 , 67 ) {
141
156
match s {
142
157
"CURLMOPT_MAX_CONCURRENT_STREAMS" => return true ,
143
158
_ => { }
144
159
}
145
160
}
146
- if version < 66 {
161
+ if version < ( 7 , 66 ) {
147
162
match s {
148
163
"CURL_HTTP_VERSION_3" => return true ,
149
164
"CURLOPT_MAXAGE_CONN" => return true ,
150
165
_ => { }
151
166
}
152
167
}
153
- if version < 65 {
168
+ if version < ( 7 , 65 ) {
154
169
match s {
155
170
"CURLVERSION_SIXTH" => return true ,
156
171
_ => { }
157
172
}
158
173
}
159
- if version < 64 {
174
+ if version < ( 7 , 64 ) {
160
175
match s {
161
176
"CURLE_HTTP2" => return true ,
162
177
"CURLE_PEER_FAILED_VERIFICATION" => return true ,
@@ -169,35 +184,35 @@ fn main() {
169
184
_ => { }
170
185
}
171
186
}
172
- if version < 62 {
187
+ if version < ( 7 , 62 ) {
173
188
match s {
174
189
"CURLOPT_DOH_URL" => return true ,
175
190
"CURLOPT_UPLOAD_BUFFERSIZE" => return true ,
176
191
_ => { }
177
192
}
178
193
}
179
- if version < 61 {
194
+ if version < ( 7 , 61 ) {
180
195
match s {
181
196
"CURLOPT_PIPEWAIT" => return true ,
182
197
"CURLE_PEER_FAILED_VERIFICATION" => return true ,
183
198
_ => { }
184
199
}
185
200
}
186
- if version < 60 {
201
+ if version < ( 7 , 60 ) {
187
202
match s {
188
203
"CURLVERSION_FIFTH" => return true ,
189
204
_ => { }
190
205
}
191
206
}
192
- if version < 54 {
207
+ if version < ( 7 , 54 ) {
193
208
match s {
194
209
"CURL_SSLVERSION_TLSv1_3" | "CURLOPT_PROXY_SSLCERT" | "CURLOPT_PROXY_SSLKEY" => {
195
210
return true
196
211
}
197
212
_ => { }
198
213
}
199
214
}
200
- if version < 52 {
215
+ if version < ( 7 , 52 ) {
201
216
match s {
202
217
"CURLOPT_PROXY_CAINFO"
203
218
| "CURLOPT_PROXY_CAPATH"
@@ -217,29 +232,29 @@ fn main() {
217
232
}
218
233
}
219
234
220
- if version < 49 {
235
+ if version < ( 7 , 49 ) {
221
236
match s {
222
237
"CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE" | "CURLOPT_CONNECT_TO" => return true ,
223
238
_ => { }
224
239
}
225
240
}
226
- if version < 47 {
241
+ if version < ( 7 , 47 ) {
227
242
if s. starts_with ( "CURL_HTTP_VERSION_2" ) {
228
243
return true ;
229
244
}
230
245
}
231
- if version < 44 {
246
+ if version < ( 7 , 44 ) {
232
247
match s {
233
248
"CURLMOPT_PUSHDATA" | "CURLMOPT_PUSHFUNCTION" => return true ,
234
249
_ => { }
235
250
}
236
251
}
237
- if version < 43 {
252
+ if version < ( 7 , 43 ) {
238
253
if s. starts_with ( "CURLPIPE_" ) {
239
254
return true ;
240
255
}
241
256
}
242
- if version < 25 {
257
+ if version < ( 7 , 25 ) {
243
258
match s {
244
259
"CURLSSLOPT_ALLOW_BEAST" => return true ,
245
260
_ => { }
0 commit comments