1 #ifndef __CURL_CURLBUILD_H
2 #define __CURL_CURLBUILD_H
3 /***************************************************************************
5 * Project ___| | | | _ \| |
7 * | (__| |_| | _ <| |___
8 * \___|\___/|_| \_\_____|
10 * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
12 * This software is licensed as described in the file COPYING, which
13 * you should have received as part of this distribution. The terms
14 * are also available at https://curl.haxx.se/docs/copyright.html.
16 * You may opt to use, copy, modify, merge, publish, distribute and/or sell
17 * copies of the Software, and permit persons to whom the Software is
18 * furnished to do so, under the terms of the COPYING file.
20 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
21 * KIND, either express or implied.
23 ***************************************************************************/
25 /* ================================================================ */
26 /* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
27 /* ================================================================ */
33 * See file include/curl/curlbuild.h.in, run configure, and forget
34 * that this file exists it is only used for non-configure systems.
35 * But you can keep reading if you want ;-)
39 /* ================================================================ */
40 /* NOTES FOR NON-CONFIGURE SYSTEMS */
41 /* ================================================================ */
47 * Nothing in this file is intended to be modified or adjusted by the
48 * curl library user nor by the curl library builder.
50 * If you think that something actually needs to be changed, adjusted
51 * or fixed in this file, then, report it on the libcurl development
52 * mailing list: https://cool.haxx.se/mailman/listinfo/curl-library/
54 * Try to keep one section per platform, compiler and architecture,
55 * otherwise, if an existing section is reused for a different one and
56 * later on the original is adjusted, probably the piggybacking one can
57 * be adversely changed.
59 * In order to differentiate between platforms/compilers/architectures
60 * use only compiler built in predefined preprocessor symbols.
62 * This header file shall only export symbols which are 'curl' or 'CURL'
63 * prefixed, otherwise public name space would be polluted.
68 * For any given platform/compiler curl_off_t must be typedef'ed to a
69 * 64-bit wide signed integral data type. The width of this data type
70 * must remain constant and independent of any possible large file
73 * As an exception to the above, curl_off_t shall be typedef'ed to a
74 * 32-bit wide signed integral data type if there is no 64-bit type.
76 * As a general rule, curl_off_t shall not be mapped to off_t. This
77 * rule shall only be violated if off_t is the only 64-bit data type
78 * available and the size of off_t is independent of large file support
79 * settings. Keep your build on the safe side avoiding an off_t gating.
80 * If you have a 64-bit off_t then take for sure that another 64-bit
81 * data type exists, dig deeper and you will find it.
86 * Right now you might be staring at file include/curl/curlbuild.h.dist or
87 * at file include/curl/curlbuild.h, this is due to the following reason:
88 * file include/curl/curlbuild.h.dist is renamed to include/curl/curlbuild.h
89 * when the libcurl source code distribution archive file is created.
91 * File include/curl/curlbuild.h.dist is not included in the distribution
92 * archive. File include/curl/curlbuild.h is not present in the git tree.
94 * The distributed include/curl/curlbuild.h file is only intended to be used
95 * on systems which can not run the also distributed configure script.
97 * On systems capable of running the configure script, the configure process
98 * will overwrite the distributed include/curl/curlbuild.h file with one that
99 * is suitable and specific to the library being configured and built, which
100 * is generated from the include/curl/curlbuild.h.in template file.
102 * If you check out from git on a non-configure platform, you must run the
103 * appropriate buildconf* script to set up curlbuild.h and other local files.
107 /* ================================================================ */
108 /* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
109 /* ================================================================ */
111 #ifdef CURL_SIZEOF_LONG
112 # error "CURL_SIZEOF_LONG shall not be defined except in curlbuild.h"
113 Error Compilation_aborted_CURL_SIZEOF_LONG_already_defined
116 #ifdef CURL_TYPEOF_CURL_SOCKLEN_T
117 # error "CURL_TYPEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
118 Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_already_defined
121 #ifdef CURL_SIZEOF_CURL_SOCKLEN_T
122 # error "CURL_SIZEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
123 Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_already_defined
126 #ifdef CURL_TYPEOF_CURL_OFF_T
127 # error "CURL_TYPEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
128 Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_already_defined
131 #ifdef CURL_FORMAT_CURL_OFF_T
132 # error "CURL_FORMAT_CURL_OFF_T shall not be defined except in curlbuild.h"
133 Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_already_defined
136 #ifdef CURL_FORMAT_CURL_OFF_TU
137 # error "CURL_FORMAT_CURL_OFF_TU shall not be defined except in curlbuild.h"
138 Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_already_defined
141 #ifdef CURL_FORMAT_OFF_T
142 # error "CURL_FORMAT_OFF_T shall not be defined except in curlbuild.h"
143 Error Compilation_aborted_CURL_FORMAT_OFF_T_already_defined
146 #ifdef CURL_SIZEOF_CURL_OFF_T
147 # error "CURL_SIZEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
148 Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_already_defined
151 #ifdef CURL_SUFFIX_CURL_OFF_T
152 # error "CURL_SUFFIX_CURL_OFF_T shall not be defined except in curlbuild.h"
153 Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_already_defined
156 #ifdef CURL_SUFFIX_CURL_OFF_TU
157 # error "CURL_SUFFIX_CURL_OFF_TU shall not be defined except in curlbuild.h"
158 Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_already_defined
161 /* ================================================================ */
162 /* EXTERNAL INTERFACE SETTINGS FOR NON-CONFIGURE SYSTEMS ONLY */
163 /* ================================================================ */
165 #if defined(__DJGPP__) || defined(__GO32__)
166 # if defined(__DJGPP__) && (__DJGPP__ > 1)
167 # define CURL_SIZEOF_LONG 4
168 # define CURL_TYPEOF_CURL_OFF_T long long
169 # define CURL_FORMAT_CURL_OFF_T "lld"
170 # define CURL_FORMAT_CURL_OFF_TU "llu"
171 # define CURL_FORMAT_OFF_T "%lld"
172 # define CURL_SIZEOF_CURL_OFF_T 8
173 # define CURL_SUFFIX_CURL_OFF_T LL
174 # define CURL_SUFFIX_CURL_OFF_TU ULL
176 # define CURL_SIZEOF_LONG 4
177 # define CURL_TYPEOF_CURL_OFF_T long
178 # define CURL_FORMAT_CURL_OFF_T "ld"
179 # define CURL_FORMAT_CURL_OFF_TU "lu"
180 # define CURL_FORMAT_OFF_T "%ld"
181 # define CURL_SIZEOF_CURL_OFF_T 4
182 # define CURL_SUFFIX_CURL_OFF_T L
183 # define CURL_SUFFIX_CURL_OFF_TU UL
185 # define CURL_TYPEOF_CURL_SOCKLEN_T int
186 # define CURL_SIZEOF_CURL_SOCKLEN_T 4
188 #elif defined(__SALFORDC__)
189 # define CURL_SIZEOF_LONG 4
190 # define CURL_TYPEOF_CURL_OFF_T long
191 # define CURL_FORMAT_CURL_OFF_T "ld"
192 # define CURL_FORMAT_CURL_OFF_TU "lu"
193 # define CURL_FORMAT_OFF_T "%ld"
194 # define CURL_SIZEOF_CURL_OFF_T 4
195 # define CURL_SUFFIX_CURL_OFF_T L
196 # define CURL_SUFFIX_CURL_OFF_TU UL
197 # define CURL_TYPEOF_CURL_SOCKLEN_T int
198 # define CURL_SIZEOF_CURL_SOCKLEN_T 4
200 #elif defined(__BORLANDC__)
201 # if (__BORLANDC__ < 0x520)
202 # define CURL_SIZEOF_LONG 4
203 # define CURL_TYPEOF_CURL_OFF_T long
204 # define CURL_FORMAT_CURL_OFF_T "ld"
205 # define CURL_FORMAT_CURL_OFF_TU "lu"
206 # define CURL_FORMAT_OFF_T "%ld"
207 # define CURL_SIZEOF_CURL_OFF_T 4
208 # define CURL_SUFFIX_CURL_OFF_T L
209 # define CURL_SUFFIX_CURL_OFF_TU UL
211 # define CURL_SIZEOF_LONG 4
212 # define CURL_TYPEOF_CURL_OFF_T __int64
213 # define CURL_FORMAT_CURL_OFF_T "I64d"
214 # define CURL_FORMAT_CURL_OFF_TU "I64u"
215 # define CURL_FORMAT_OFF_T "%I64d"
216 # define CURL_SIZEOF_CURL_OFF_T 8
217 # define CURL_SUFFIX_CURL_OFF_T i64
218 # define CURL_SUFFIX_CURL_OFF_TU ui64
220 # define CURL_TYPEOF_CURL_SOCKLEN_T int
221 # define CURL_SIZEOF_CURL_SOCKLEN_T 4
223 #elif defined(__TURBOC__)
224 # define CURL_SIZEOF_LONG 4
225 # define CURL_TYPEOF_CURL_OFF_T long
226 # define CURL_FORMAT_CURL_OFF_T "ld"
227 # define CURL_FORMAT_CURL_OFF_TU "lu"
228 # define CURL_FORMAT_OFF_T "%ld"
229 # define CURL_SIZEOF_CURL_OFF_T 4
230 # define CURL_SUFFIX_CURL_OFF_T L
231 # define CURL_SUFFIX_CURL_OFF_TU UL
232 # define CURL_TYPEOF_CURL_SOCKLEN_T int
233 # define CURL_SIZEOF_CURL_SOCKLEN_T 4
235 #elif defined(__WATCOMC__)
236 # if defined(__386__)
237 # define CURL_SIZEOF_LONG 4
238 # define CURL_TYPEOF_CURL_OFF_T __int64
239 # define CURL_FORMAT_CURL_OFF_T "I64d"
240 # define CURL_FORMAT_CURL_OFF_TU "I64u"
241 # define CURL_FORMAT_OFF_T "%I64d"
242 # define CURL_SIZEOF_CURL_OFF_T 8
243 # define CURL_SUFFIX_CURL_OFF_T i64
244 # define CURL_SUFFIX_CURL_OFF_TU ui64
246 # define CURL_SIZEOF_LONG 4
247 # define CURL_TYPEOF_CURL_OFF_T long
248 # define CURL_FORMAT_CURL_OFF_T "ld"
249 # define CURL_FORMAT_CURL_OFF_TU "lu"
250 # define CURL_FORMAT_OFF_T "%ld"
251 # define CURL_SIZEOF_CURL_OFF_T 4
252 # define CURL_SUFFIX_CURL_OFF_T L
253 # define CURL_SUFFIX_CURL_OFF_TU UL
255 # define CURL_TYPEOF_CURL_SOCKLEN_T int
256 # define CURL_SIZEOF_CURL_SOCKLEN_T 4
258 #elif defined(__POCC__)
259 # if (__POCC__ < 280)
260 # define CURL_SIZEOF_LONG 4
261 # define CURL_TYPEOF_CURL_OFF_T long
262 # define CURL_FORMAT_CURL_OFF_T "ld"
263 # define CURL_FORMAT_CURL_OFF_TU "lu"
264 # define CURL_FORMAT_OFF_T "%ld"
265 # define CURL_SIZEOF_CURL_OFF_T 4
266 # define CURL_SUFFIX_CURL_OFF_T L
267 # define CURL_SUFFIX_CURL_OFF_TU UL
268 # elif defined(_MSC_VER)
269 # define CURL_SIZEOF_LONG 4
270 # define CURL_TYPEOF_CURL_OFF_T __int64
271 # define CURL_FORMAT_CURL_OFF_T "I64d"
272 # define CURL_FORMAT_CURL_OFF_TU "I64u"
273 # define CURL_FORMAT_OFF_T "%I64d"
274 # define CURL_SIZEOF_CURL_OFF_T 8
275 # define CURL_SUFFIX_CURL_OFF_T i64
276 # define CURL_SUFFIX_CURL_OFF_TU ui64
278 # define CURL_SIZEOF_LONG 4
279 # define CURL_TYPEOF_CURL_OFF_T long long
280 # define CURL_FORMAT_CURL_OFF_T "lld"
281 # define CURL_FORMAT_CURL_OFF_TU "llu"
282 # define CURL_FORMAT_OFF_T "%lld"
283 # define CURL_SIZEOF_CURL_OFF_T 8
284 # define CURL_SUFFIX_CURL_OFF_T LL
285 # define CURL_SUFFIX_CURL_OFF_TU ULL
287 # define CURL_TYPEOF_CURL_SOCKLEN_T int
288 # define CURL_SIZEOF_CURL_SOCKLEN_T 4
290 #elif defined(__LCC__)
291 # define CURL_SIZEOF_LONG 4
292 # define CURL_TYPEOF_CURL_OFF_T long
293 # define CURL_FORMAT_CURL_OFF_T "ld"
294 # define CURL_FORMAT_CURL_OFF_TU "lu"
295 # define CURL_FORMAT_OFF_T "%ld"
296 # define CURL_SIZEOF_CURL_OFF_T 4
297 # define CURL_SUFFIX_CURL_OFF_T L
298 # define CURL_SUFFIX_CURL_OFF_TU UL
299 # define CURL_TYPEOF_CURL_SOCKLEN_T int
300 # define CURL_SIZEOF_CURL_SOCKLEN_T 4
302 #elif defined(__SYMBIAN32__)
303 # if defined(__EABI__) /* Treat all ARM compilers equally */
304 # define CURL_SIZEOF_LONG 4
305 # define CURL_TYPEOF_CURL_OFF_T long long
306 # define CURL_FORMAT_CURL_OFF_T "lld"
307 # define CURL_FORMAT_CURL_OFF_TU "llu"
308 # define CURL_FORMAT_OFF_T "%lld"
309 # define CURL_SIZEOF_CURL_OFF_T 8
310 # define CURL_SUFFIX_CURL_OFF_T LL
311 # define CURL_SUFFIX_CURL_OFF_TU ULL
312 # elif defined(__CW32__)
314 # define CURL_SIZEOF_LONG 4
315 # define CURL_TYPEOF_CURL_OFF_T long long
316 # define CURL_FORMAT_CURL_OFF_T "lld"
317 # define CURL_FORMAT_CURL_OFF_TU "llu"
318 # define CURL_FORMAT_OFF_T "%lld"
319 # define CURL_SIZEOF_CURL_OFF_T 8
320 # define CURL_SUFFIX_CURL_OFF_T LL
321 # define CURL_SUFFIX_CURL_OFF_TU ULL
322 # elif defined(__VC32__)
323 # define CURL_SIZEOF_LONG 4
324 # define CURL_TYPEOF_CURL_OFF_T __int64
325 # define CURL_FORMAT_CURL_OFF_T "lld"
326 # define CURL_FORMAT_CURL_OFF_TU "llu"
327 # define CURL_FORMAT_OFF_T "%lld"
328 # define CURL_SIZEOF_CURL_OFF_T 8
329 # define CURL_SUFFIX_CURL_OFF_T LL
330 # define CURL_SUFFIX_CURL_OFF_TU ULL
332 # define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int
333 # define CURL_SIZEOF_CURL_SOCKLEN_T 4
335 #elif defined(__MWERKS__)
336 # define CURL_SIZEOF_LONG 4
337 # define CURL_TYPEOF_CURL_OFF_T long long
338 # define CURL_FORMAT_CURL_OFF_T "lld"
339 # define CURL_FORMAT_CURL_OFF_TU "llu"
340 # define CURL_FORMAT_OFF_T "%lld"
341 # define CURL_SIZEOF_CURL_OFF_T 8
342 # define CURL_SUFFIX_CURL_OFF_T LL
343 # define CURL_SUFFIX_CURL_OFF_TU ULL
344 # define CURL_TYPEOF_CURL_SOCKLEN_T int
345 # define CURL_SIZEOF_CURL_SOCKLEN_T 4
347 #elif defined(_WIN32_WCE)
348 # define CURL_SIZEOF_LONG 4
349 # define CURL_TYPEOF_CURL_OFF_T __int64
350 # define CURL_FORMAT_CURL_OFF_T "I64d"
351 # define CURL_FORMAT_CURL_OFF_TU "I64u"
352 # define CURL_FORMAT_OFF_T "%I64d"
353 # define CURL_SIZEOF_CURL_OFF_T 8
354 # define CURL_SUFFIX_CURL_OFF_T i64
355 # define CURL_SUFFIX_CURL_OFF_TU ui64
356 # define CURL_TYPEOF_CURL_SOCKLEN_T int
357 # define CURL_SIZEOF_CURL_SOCKLEN_T 4
359 #elif defined(__MINGW32__)
360 # define CURL_SIZEOF_LONG 4
361 # define CURL_TYPEOF_CURL_OFF_T long long
362 # define CURL_FORMAT_CURL_OFF_T "I64d"
363 # define CURL_FORMAT_CURL_OFF_TU "I64u"
364 # define CURL_FORMAT_OFF_T "%I64d"
365 # define CURL_SIZEOF_CURL_OFF_T 8
366 # define CURL_SUFFIX_CURL_OFF_T LL
367 # define CURL_SUFFIX_CURL_OFF_TU ULL
368 # define CURL_TYPEOF_CURL_SOCKLEN_T int
369 # define CURL_SIZEOF_CURL_SOCKLEN_T 4
373 # define CURL_SIZEOF_LONG 4
374 # define CURL_TYPEOF_CURL_OFF_T long
375 # define CURL_FORMAT_CURL_OFF_T "ld"
376 # define CURL_FORMAT_CURL_OFF_TU "lu"
377 # define CURL_FORMAT_OFF_T "%ld"
378 # define CURL_SIZEOF_CURL_OFF_T 4
379 # define CURL_SUFFIX_CURL_OFF_T L
380 # define CURL_SUFFIX_CURL_OFF_TU UL
382 # define CURL_SIZEOF_LONG 4
383 # define CURL_TYPEOF_CURL_OFF_T long long
384 # define CURL_FORMAT_CURL_OFF_T "lld"
385 # define CURL_FORMAT_CURL_OFF_TU "llu"
386 # define CURL_FORMAT_OFF_T "%lld"
387 # define CURL_SIZEOF_CURL_OFF_T 8
388 # define CURL_SUFFIX_CURL_OFF_T LL
389 # define CURL_SUFFIX_CURL_OFF_TU ULL
391 # define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int
392 # define CURL_SIZEOF_CURL_SOCKLEN_T 4
394 #elif defined(__OS400__)
395 # if defined(__ILEC400__)
396 # define CURL_SIZEOF_LONG 4
397 # define CURL_TYPEOF_CURL_OFF_T long long
398 # define CURL_FORMAT_CURL_OFF_T "lld"
399 # define CURL_FORMAT_CURL_OFF_TU "llu"
400 # define CURL_FORMAT_OFF_T "%lld"
401 # define CURL_SIZEOF_CURL_OFF_T 8
402 # define CURL_SUFFIX_CURL_OFF_T LL
403 # define CURL_SUFFIX_CURL_OFF_TU ULL
404 # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
405 # define CURL_SIZEOF_CURL_SOCKLEN_T 4
406 # define CURL_PULL_SYS_TYPES_H 1
407 # define CURL_PULL_SYS_SOCKET_H 1
410 #elif defined(__MVS__)
411 # if defined(__IBMC__) || defined(__IBMCPP__)
413 # define CURL_SIZEOF_LONG 4
414 # elif defined(_LP64)
415 # define CURL_SIZEOF_LONG 8
417 # if defined(_LONG_LONG)
418 # define CURL_TYPEOF_CURL_OFF_T long long
419 # define CURL_FORMAT_CURL_OFF_T "lld"
420 # define CURL_FORMAT_CURL_OFF_TU "llu"
421 # define CURL_FORMAT_OFF_T "%lld"
422 # define CURL_SIZEOF_CURL_OFF_T 8
423 # define CURL_SUFFIX_CURL_OFF_T LL
424 # define CURL_SUFFIX_CURL_OFF_TU ULL
425 # elif defined(_LP64)
426 # define CURL_TYPEOF_CURL_OFF_T long
427 # define CURL_FORMAT_CURL_OFF_T "ld"
428 # define CURL_FORMAT_CURL_OFF_TU "lu"
429 # define CURL_FORMAT_OFF_T "%ld"
430 # define CURL_SIZEOF_CURL_OFF_T 8
431 # define CURL_SUFFIX_CURL_OFF_T L
432 # define CURL_SUFFIX_CURL_OFF_TU UL
434 # define CURL_TYPEOF_CURL_OFF_T long
435 # define CURL_FORMAT_CURL_OFF_T "ld"
436 # define CURL_FORMAT_CURL_OFF_TU "lu"
437 # define CURL_FORMAT_OFF_T "%ld"
438 # define CURL_SIZEOF_CURL_OFF_T 4
439 # define CURL_SUFFIX_CURL_OFF_T L
440 # define CURL_SUFFIX_CURL_OFF_TU UL
442 # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
443 # define CURL_SIZEOF_CURL_SOCKLEN_T 4
444 # define CURL_PULL_SYS_TYPES_H 1
445 # define CURL_PULL_SYS_SOCKET_H 1
448 #elif defined(__370__)
449 # if defined(__IBMC__) || defined(__IBMCPP__)
451 # define CURL_SIZEOF_LONG 4
452 # elif defined(_LP64)
453 # define CURL_SIZEOF_LONG 8
455 # if defined(_LONG_LONG)
456 # define CURL_TYPEOF_CURL_OFF_T long long
457 # define CURL_FORMAT_CURL_OFF_T "lld"
458 # define CURL_FORMAT_CURL_OFF_TU "llu"
459 # define CURL_FORMAT_OFF_T "%lld"
460 # define CURL_SIZEOF_CURL_OFF_T 8
461 # define CURL_SUFFIX_CURL_OFF_T LL
462 # define CURL_SUFFIX_CURL_OFF_TU ULL
463 # elif defined(_LP64)
464 # define CURL_TYPEOF_CURL_OFF_T long
465 # define CURL_FORMAT_CURL_OFF_T "ld"
466 # define CURL_FORMAT_CURL_OFF_TU "lu"
467 # define CURL_FORMAT_OFF_T "%ld"
468 # define CURL_SIZEOF_CURL_OFF_T 8
469 # define CURL_SUFFIX_CURL_OFF_T L
470 # define CURL_SUFFIX_CURL_OFF_TU UL
472 # define CURL_TYPEOF_CURL_OFF_T long
473 # define CURL_FORMAT_CURL_OFF_T "ld"
474 # define CURL_FORMAT_CURL_OFF_TU "lu"
475 # define CURL_FORMAT_OFF_T "%ld"
476 # define CURL_SIZEOF_CURL_OFF_T 4
477 # define CURL_SUFFIX_CURL_OFF_T L
478 # define CURL_SUFFIX_CURL_OFF_TU UL
480 # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
481 # define CURL_SIZEOF_CURL_SOCKLEN_T 4
482 # define CURL_PULL_SYS_TYPES_H 1
483 # define CURL_PULL_SYS_SOCKET_H 1
487 # define CURL_SIZEOF_LONG 8
488 # define CURL_TYPEOF_CURL_OFF_T long
489 # define CURL_FORMAT_CURL_OFF_T "ld"
490 # define CURL_FORMAT_CURL_OFF_TU "lu"
491 # define CURL_FORMAT_OFF_T "%ld"
492 # define CURL_SIZEOF_CURL_OFF_T 8
493 # define CURL_SUFFIX_CURL_OFF_T L
494 # define CURL_SUFFIX_CURL_OFF_TU UL
495 # define CURL_TYPEOF_CURL_SOCKLEN_T int
496 # define CURL_SIZEOF_CURL_SOCKLEN_T 4
498 /* ===================================== */
499 /* KEEP MSVC THE PENULTIMATE ENTRY */
500 /* ===================================== */
502 #elif defined(_MSC_VER)
503 # if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
504 # define CURL_SIZEOF_LONG 4
505 # define CURL_TYPEOF_CURL_OFF_T __int64
506 # define CURL_FORMAT_CURL_OFF_T "I64d"
507 # define CURL_FORMAT_CURL_OFF_TU "I64u"
508 # define CURL_FORMAT_OFF_T "%I64d"
509 # define CURL_SIZEOF_CURL_OFF_T 8
510 # define CURL_SUFFIX_CURL_OFF_T i64
511 # define CURL_SUFFIX_CURL_OFF_TU ui64
513 # define CURL_SIZEOF_LONG 4
514 # define CURL_TYPEOF_CURL_OFF_T long
515 # define CURL_FORMAT_CURL_OFF_T "ld"
516 # define CURL_FORMAT_CURL_OFF_TU "lu"
517 # define CURL_FORMAT_OFF_T "%ld"
518 # define CURL_SIZEOF_CURL_OFF_T 4
519 # define CURL_SUFFIX_CURL_OFF_T L
520 # define CURL_SUFFIX_CURL_OFF_TU UL
522 # define CURL_TYPEOF_CURL_SOCKLEN_T int
523 # define CURL_SIZEOF_CURL_SOCKLEN_T 4
525 /* ===================================== */
526 /* KEEP GENERIC GCC THE LAST ENTRY */
527 /* ===================================== */
529 #elif defined(__GNUC__)
530 # if !defined(__LP64__) && (defined(__ILP32__) || \
531 defined(__i386__) || defined(__ppc__) || defined(__arm__) || \
532 defined(__sparc__) || defined(__mips__) || defined(__sh__))
533 # define CURL_SIZEOF_LONG 4
534 # define CURL_TYPEOF_CURL_OFF_T long long
535 # define CURL_FORMAT_CURL_OFF_T "lld"
536 # define CURL_FORMAT_CURL_OFF_TU "llu"
537 # define CURL_FORMAT_OFF_T "%lld"
538 # define CURL_SIZEOF_CURL_OFF_T 8
539 # define CURL_SUFFIX_CURL_OFF_T LL
540 # define CURL_SUFFIX_CURL_OFF_TU ULL
541 # elif defined(__LP64__) || \
542 defined(__x86_64__) || defined(__ppc64__) || defined(__sparc64__)
543 # define CURL_SIZEOF_LONG 8
544 # define CURL_TYPEOF_CURL_OFF_T long
545 # define CURL_FORMAT_CURL_OFF_T "ld"
546 # define CURL_FORMAT_CURL_OFF_TU "lu"
547 # define CURL_FORMAT_OFF_T "%ld"
548 # define CURL_SIZEOF_CURL_OFF_T 8
549 # define CURL_SUFFIX_CURL_OFF_T L
550 # define CURL_SUFFIX_CURL_OFF_TU UL
552 # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
553 # define CURL_SIZEOF_CURL_SOCKLEN_T 4
554 # define CURL_PULL_SYS_TYPES_H 1
555 # define CURL_PULL_SYS_SOCKET_H 1
558 # error "Unknown non-configure build target!"
559 Error Compilation_aborted_Unknown_non_configure_build_target
562 /* CURL_PULL_SYS_TYPES_H is defined above when inclusion of header file */
563 /* sys/types.h is required here to properly make type definitions below. */
564 #ifdef CURL_PULL_SYS_TYPES_H
565 # include <sys/types.h>
568 /* CURL_PULL_SYS_SOCKET_H is defined above when inclusion of header file */
569 /* sys/socket.h is required here to properly make type definitions below. */
570 #ifdef CURL_PULL_SYS_SOCKET_H
571 # include <sys/socket.h>
574 /* Data type definition of curl_socklen_t. */
576 #ifdef CURL_TYPEOF_CURL_SOCKLEN_T
577 typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;
580 /* Data type definition of curl_off_t. */
582 #ifdef CURL_TYPEOF_CURL_OFF_T
583 typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;
586 #endif /* __CURL_CURLBUILD_H */