VirtualBox

source: vbox/trunk/src/libs/curl-8.4.0/lib/config-win32.h@ 102727

Last change on this file since 102727 was 101409, checked in by vboxsync, 17 months ago

curl-8.4.0: Applied and adjusted our curl changes to 8.3.0. bugref:10533

  • Property svn:eol-style set to native
File size: 19.3 KB
Line 
1#ifndef HEADER_CURL_CONFIG_WIN32_H
2#define HEADER_CURL_CONFIG_WIN32_H
3/***************************************************************************
4 * _ _ ____ _
5 * Project ___| | | | _ \| |
6 * / __| | | | |_) | |
7 * | (__| |_| | _ <| |___
8 * \___|\___/|_| \_\_____|
9 *
10 * Copyright (C) Daniel Stenberg, <[email protected]>, et al.
11 *
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.se/docs/copyright.html.
15 *
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.
19 *
20 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
21 * KIND, either express or implied.
22 *
23 * SPDX-License-Identifier: curl
24 *
25 ***************************************************************************/
26
27/* ================================================================ */
28/* Hand crafted config file for Windows */
29/* ================================================================ */
30
31/* ---------------------------------------------------------------- */
32/* HEADER FILES */
33/* ---------------------------------------------------------------- */
34
35/* Define if you have the <arpa/inet.h> header file. */
36/* #define HAVE_ARPA_INET_H 1 */
37
38/* Define if you have the <fcntl.h> header file. */
39#define HAVE_FCNTL_H 1
40
41/* Define to 1 if you have the <inttypes.h> header file. */
42#if (defined(_MSC_VER) && (_MSC_VER >= 1800)) || defined(__MINGW32__)
43#define HAVE_INTTYPES_H 1
44#endif
45
46/* Define to 1 if you have the <stdint.h> header file. */
47#if (defined(_MSC_VER) && (_MSC_VER >= 1600)) || defined(__MINGW32__) || \
48 (defined(__BORLANDC__) && (__BORLANDC__ >= 0x0582)) || defined(__POCC__)
49#define HAVE_STDINT_H 1
50#endif
51
52/* Define if you have the <io.h> header file. */
53#define HAVE_IO_H 1
54
55/* Define if you have the <locale.h> header file. */
56#define HAVE_LOCALE_H 1
57
58/* Define if you need <malloc.h> header even with <stdlib.h> header file. */
59#if !defined(__SALFORDC__) && !defined(__POCC__)
60#define NEED_MALLOC_H 1
61#endif
62
63/* Define if you have the <netdb.h> header file. */
64/* #define HAVE_NETDB_H 1 */
65
66/* Define if you have the <netinet/in.h> header file. */
67/* #define HAVE_NETINET_IN_H 1 */
68
69/* Define to 1 if you have the <stdbool.h> header file. */
70#if (defined(_MSC_VER) && (_MSC_VER >= 1800)) || defined(__MINGW32__)
71#define HAVE_STDBOOL_H 1
72#endif
73
74/* Define if you have the <sys/param.h> header file. */
75/* #define HAVE_SYS_PARAM_H 1 */
76
77/* Define if you have the <sys/select.h> header file. */
78/* #define HAVE_SYS_SELECT_H 1 */
79
80/* Define if you have the <sys/socket.h> header file. */
81/* #define HAVE_SYS_SOCKET_H 1 */
82
83/* Define if you have the <sys/sockio.h> header file. */
84/* #define HAVE_SYS_SOCKIO_H 1 */
85
86/* Define if you have the <sys/stat.h> header file. */
87#define HAVE_SYS_STAT_H 1
88
89/* Define if you have the <sys/time.h> header file. */
90/* #define HAVE_SYS_TIME_H 1 */
91
92/* Define if you have the <sys/types.h> header file. */
93#define HAVE_SYS_TYPES_H 1
94
95/* Define if you have the <sys/utime.h> header file. */
96#ifndef __BORLANDC__
97#define HAVE_SYS_UTIME_H 1
98#endif
99
100/* Define if you have the <termio.h> header file. */
101/* #define HAVE_TERMIO_H 1 */
102
103/* Define if you have the <termios.h> header file. */
104/* #define HAVE_TERMIOS_H 1 */
105
106/* Define if you have the <unistd.h> header file. */
107#if defined(__MINGW32__) || defined(__LCC__) || defined(__POCC__)
108#define HAVE_UNISTD_H 1
109#endif
110
111/* Define if you have the <windows.h> header file. */
112#define HAVE_WINDOWS_H 1
113
114/* Define if you have the <winsock2.h> header file. */
115#ifndef __SALFORDC__
116#define HAVE_WINSOCK2_H 1
117#endif
118
119/* Define if you have the <ws2tcpip.h> header file. */
120#ifndef __SALFORDC__
121#define HAVE_WS2TCPIP_H 1
122#endif
123
124/* Define to 1 if you have the <libgen.h> header file. */
125#if defined(__MINGW32__)
126#define HAVE_LIBGEN_H 1
127#endif
128
129/* ---------------------------------------------------------------- */
130/* OTHER HEADER INFO */
131/* ---------------------------------------------------------------- */
132
133/* Define if you have the ANSI C header files. */
134#define STDC_HEADERS 1
135
136/* Define to 1 if bool is an available type. */
137#if (defined(_MSC_VER) && (_MSC_VER >= 1800)) || defined(__MINGW32__)
138#define HAVE_BOOL_T 1
139#endif
140
141/* ---------------------------------------------------------------- */
142/* FUNCTIONS */
143/* ---------------------------------------------------------------- */
144
145/* Define if you have the closesocket function. */
146#define HAVE_CLOSESOCKET 1
147
148/* Define if you have the ftruncate function. */
149#if defined(__MINGW32__)
150#define HAVE_FTRUNCATE 1
151#endif
152
153/* Define to 1 if you have the `getpeername' function. */
154#define HAVE_GETPEERNAME 1
155
156/* Define to 1 if you have the getsockname function. */
157#define HAVE_GETSOCKNAME 1
158
159/* Define if you have the gethostname function. */
160#define HAVE_GETHOSTNAME 1
161
162/* Define if you have the gettimeofday function. */
163/* #define HAVE_GETTIMEOFDAY 1 */
164
165/* Define if you have the ioctlsocket function. */
166#define HAVE_IOCTLSOCKET 1
167
168/* Define if you have a working ioctlsocket FIONBIO function. */
169#define HAVE_IOCTLSOCKET_FIONBIO 1
170
171/* Define if you have the select function. */
172#define HAVE_SELECT 1
173
174/* Define if you have the setlocale function. */
175#define HAVE_SETLOCALE 1
176
177/* Define if you have the setmode function. */
178#define HAVE_SETMODE 1
179
180/* Define if you have the socket function. */
181#define HAVE_SOCKET 1
182
183/* Define if you have the strcasecmp function. */
184#if defined(__MINGW32__)
185#define HAVE_STRCASECMP 1
186#endif
187
188/* Define if you have the strdup function. */
189#define HAVE_STRDUP 1
190
191/* Define if you have the stricmp function. */
192#define HAVE_STRICMP 1
193
194/* Define if you have the strtoll function. */
195#if defined(__MINGW32__) || defined(__POCC__) || \
196 (defined(_MSC_VER) && (_MSC_VER >= 1800))
197#define HAVE_STRTOLL 1
198#endif
199
200/* Define if you have the utime function. */
201#ifndef __BORLANDC__
202#define HAVE_UTIME 1
203#endif
204
205/* Define if you have the recv function. */
206#define HAVE_RECV 1
207
208/* Define to the type of arg 1 for recv. */
209#define RECV_TYPE_ARG1 SOCKET
210
211/* Define to the type of arg 2 for recv. */
212#define RECV_TYPE_ARG2 char *
213
214/* Define to the type of arg 3 for recv. */
215#define RECV_TYPE_ARG3 int
216
217/* Define to the type of arg 4 for recv. */
218#define RECV_TYPE_ARG4 int
219
220/* Define to the function return type for recv. */
221#define RECV_TYPE_RETV int
222
223/* Define if you have the send function. */
224#define HAVE_SEND 1
225
226/* Define to the type of arg 1 for send. */
227#define SEND_TYPE_ARG1 SOCKET
228
229/* Define to the type qualifier of arg 2 for send. */
230#define SEND_QUAL_ARG2 const
231
232/* Define to the type of arg 2 for send. */
233#define SEND_TYPE_ARG2 char *
234
235/* Define to the type of arg 3 for send. */
236#define SEND_TYPE_ARG3 int
237
238/* Define to the type of arg 4 for send. */
239#define SEND_TYPE_ARG4 int
240
241/* Define to the function return type for send. */
242#define SEND_TYPE_RETV int
243
244/* Define to 1 if you have the snprintf function. */
245#if defined(_MSC_VER) && (_MSC_VER >= 1900)
246#define HAVE_SNPRINTF 1
247#endif
248
249#if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x600 /* Vista */
250/* Define to 1 if you have a IPv6 capable working inet_ntop function. */
251#define HAVE_INET_NTOP 1
252/* Define to 1 if you have a IPv6 capable working inet_pton function. */
253#define HAVE_INET_PTON 1
254#endif
255
256/* Define to 1 if you have the `basename' function. */
257#if defined(__MINGW32__)
258#define HAVE_BASENAME 1
259#endif
260
261/* Define to 1 if you have the strtok_r function. */
262#if defined(__MINGW32__)
263#define HAVE_STRTOK_R 1
264#endif
265
266/* Define to 1 if you have the signal function. */
267#define HAVE_SIGNAL 1
268
269/* ---------------------------------------------------------------- */
270/* TYPEDEF REPLACEMENTS */
271/* ---------------------------------------------------------------- */
272
273/* Define if in_addr_t is not an available 'typedefed' type. */
274#define in_addr_t unsigned long
275
276/* Define if ssize_t is not an available 'typedefed' type. */
277#ifndef _SSIZE_T_DEFINED
278# if defined(__POCC__) || defined(__MINGW32__)
279# elif defined(_WIN64)
280# define _SSIZE_T_DEFINED
281# define ssize_t __int64
282# else
283# define _SSIZE_T_DEFINED
284# define ssize_t int
285# endif
286#endif
287
288/* ---------------------------------------------------------------- */
289/* TYPE SIZES */
290/* ---------------------------------------------------------------- */
291
292/* Define to the size of `int', as computed by sizeof. */
293#define SIZEOF_INT 4
294
295/* Define to the size of `long long', as computed by sizeof. */
296/* #define SIZEOF_LONG_LONG 8 */
297
298/* Define to the size of `long', as computed by sizeof. */
299#define SIZEOF_LONG 4
300
301/* Define to the size of `size_t', as computed by sizeof. */
302#if defined(_WIN64)
303# define SIZEOF_SIZE_T 8
304#else
305# define SIZEOF_SIZE_T 4
306#endif
307
308/* Define to the size of `curl_off_t', as computed by sizeof. */
309#define SIZEOF_CURL_OFF_T 8
310
311/* ---------------------------------------------------------------- */
312/* BSD-style lwIP TCP/IP stack SPECIFIC */
313/* ---------------------------------------------------------------- */
314
315/* Define to use BSD-style lwIP TCP/IP stack. */
316/* #define USE_LWIPSOCK 1 */
317
318#ifdef USE_LWIPSOCK
319# undef USE_WINSOCK
320# undef HAVE_WINSOCK2_H
321# undef HAVE_WS2TCPIP_H
322# undef HAVE_GETHOSTNAME
323# undef LWIP_POSIX_SOCKETS_IO_NAMES
324# undef RECV_TYPE_ARG1
325# undef RECV_TYPE_ARG3
326# undef SEND_TYPE_ARG1
327# undef SEND_TYPE_ARG3
328# define HAVE_FREEADDRINFO
329# define HAVE_GETADDRINFO
330# define HAVE_GETHOSTBYNAME_R
331# define HAVE_GETHOSTBYNAME_R_6
332# define LWIP_POSIX_SOCKETS_IO_NAMES 0
333# define RECV_TYPE_ARG1 int
334# define RECV_TYPE_ARG3 size_t
335# define SEND_TYPE_ARG1 int
336# define SEND_TYPE_ARG3 size_t
337#endif
338
339/* ---------------------------------------------------------------- */
340/* Watt-32 tcp/ip SPECIFIC */
341/* ---------------------------------------------------------------- */
342
343#ifdef USE_WATT32
344 #include <tcp.h>
345 #undef byte
346 #undef word
347 #undef USE_WINSOCK
348 #undef HAVE_WINSOCK2_H
349 #undef HAVE_WS2TCPIP_H
350 #define HAVE_GETADDRINFO
351 #define HAVE_SYS_IOCTL_H
352 #define HAVE_SYS_SOCKET_H
353 #define HAVE_NETINET_IN_H
354 #define HAVE_NETDB_H
355 #define HAVE_ARPA_INET_H
356 #define HAVE_FREEADDRINFO
357 #define SOCKET int
358#endif
359
360
361/* ---------------------------------------------------------------- */
362/* COMPILER SPECIFIC */
363/* ---------------------------------------------------------------- */
364
365/* Define to nothing if compiler does not support 'const' qualifier. */
366/* #define const */
367
368/* Define to nothing if compiler does not support 'volatile' qualifier. */
369/* #define volatile */
370
371/* Windows should not have HAVE_GMTIME_R defined */
372/* #undef HAVE_GMTIME_R */
373
374/* Define if the compiler supports C99 variadic macro style. */
375#if defined(_MSC_VER) && (_MSC_VER >= 1400)
376#define HAVE_VARIADIC_MACROS_C99 1
377#endif
378
379/* Define if the compiler supports the 'long long' data type. */
380#if defined(__MINGW32__) || \
381 (defined(_MSC_VER) && (_MSC_VER >= 1310)) || \
382 (defined(__BORLANDC__) && (__BORLANDC__ >= 0x561))
383#define HAVE_LONGLONG 1
384#endif
385
386/* Define to avoid VS2005 complaining about portable C functions. */
387#if defined(_MSC_VER) && (_MSC_VER >= 1400)
388#define _CRT_SECURE_NO_DEPRECATE 1
389#define _CRT_NONSTDC_NO_DEPRECATE 1
390#endif
391
392/* mingw-w64 and visual studio >= 2005 (MSVCR80)
393 all default to 64-bit time_t unless _USE_32BIT_TIME_T is defined */
394#if (defined(_MSC_VER) && (_MSC_VER >= 1400)) || defined(__MINGW32__)
395# ifndef _USE_32BIT_TIME_T
396# define SIZEOF_TIME_T 8
397# else
398# define SIZEOF_TIME_T 4
399# endif
400#endif
401
402/* Define some minimum and default build targets for Visual Studio */
403#if defined(_MSC_VER)
404 /* Officially, Microsoft's Windows SDK versions 6.X does not support Windows
405 2000 as a supported build target. VS2008 default installations provides
406 an embedded Windows SDK v6.0A along with the claim that Windows 2000 is a
407 valid build target for VS2008. Popular belief is that binaries built with
408 VS2008 using Windows SDK versions v6.X and Windows 2000 as a build target
409 are functional. */
410# define VS2008_MIN_TARGET 0x0500
411
412 /* The minimum build target for VS2012 is Vista unless Update 1 is installed
413 and the v110_xp toolset is chosen. */
414# if defined(_USING_V110_SDK71_)
415# define VS2012_MIN_TARGET 0x0501
416# else
417# define VS2012_MIN_TARGET 0x0600
418# endif
419
420 /* VS2008 default build target is Windows Vista. We override default target
421 to be Windows XP. */
422# define VS2008_DEF_TARGET 0x0501
423
424 /* VS2012 default build target is Windows Vista unless Update 1 is installed
425 and the v110_xp toolset is chosen. */
426# if defined(_USING_V110_SDK71_)
427# define VS2012_DEF_TARGET 0x0501
428# else
429# define VS2012_DEF_TARGET 0x0600
430# endif
431#endif
432
433/* VS2008 default target settings and minimum build target check. */
434#if defined(_MSC_VER) && (_MSC_VER >= 1500) && (_MSC_VER <= 1600)
435# ifndef _WIN32_WINNT
436# define _WIN32_WINNT VS2008_DEF_TARGET
437# endif
438# ifndef WINVER
439# define WINVER VS2008_DEF_TARGET
440# endif
441# if (_WIN32_WINNT < VS2008_MIN_TARGET) || (WINVER < VS2008_MIN_TARGET)
442# error VS2008 does not support Windows build targets prior to Windows 2000
443# endif
444#endif
445
446/* VS2012 default target settings and minimum build target check. */
447#if defined(_MSC_VER) && (_MSC_VER >= 1700)
448# ifndef _WIN32_WINNT
449# define _WIN32_WINNT VS2012_DEF_TARGET
450# endif
451# ifndef WINVER
452# define WINVER VS2012_DEF_TARGET
453# endif
454# if (_WIN32_WINNT < VS2012_MIN_TARGET) || (WINVER < VS2012_MIN_TARGET)
455# if defined(_USING_V110_SDK71_)
456# error VS2012 does not support Windows build targets prior to Windows XP
457# else
458# error VS2012 does not support Windows build targets prior to Windows \
459Vista
460# endif
461# endif
462#endif
463
464/* When no build target is specified Pelles C 5.00 and later default build
465 target is Windows Vista. We override default target to be Windows 2000. */
466#if defined(__POCC__) && (__POCC__ >= 500)
467# ifndef _WIN32_WINNT
468# define _WIN32_WINNT 0x0500
469# endif
470# ifndef WINVER
471# define WINVER 0x0500
472# endif
473#endif
474
475/* Availability of freeaddrinfo, getaddrinfo, and if_nametoindex
476 functions is quite convoluted, compiler dependent and even build target
477 dependent. */
478#if defined(HAVE_WS2TCPIP_H)
479# if defined(__POCC__)
480# define HAVE_FREEADDRINFO 1
481# define HAVE_GETADDRINFO 1
482# define HAVE_GETADDRINFO_THREADSAFE 1
483# elif defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0501)
484# define HAVE_FREEADDRINFO 1
485# define HAVE_GETADDRINFO 1
486# define HAVE_GETADDRINFO_THREADSAFE 1
487# elif defined(_MSC_VER) && (_MSC_VER >= 1200)
488# define HAVE_FREEADDRINFO 1
489# define HAVE_GETADDRINFO 1
490# define HAVE_GETADDRINFO_THREADSAFE 1
491# endif
492#endif
493
494#if defined(__POCC__)
495# ifndef _MSC_VER
496# error Microsoft extensions /Ze compiler option is required
497# endif
498# ifndef __POCC__OLDNAMES
499# error Compatibility names /Go compiler option is required
500# endif
501#endif
502
503/* ---------------------------------------------------------------- */
504/* STRUCT RELATED */
505/* ---------------------------------------------------------------- */
506
507/* Define if you have struct sockaddr_storage. */
508#if !defined(__SALFORDC__) && !defined(__BORLANDC__)
509#define HAVE_STRUCT_SOCKADDR_STORAGE 1
510#endif
511
512/* Define if you have struct timeval. */
513#define HAVE_STRUCT_TIMEVAL 1
514
515/* Define if struct sockaddr_in6 has the sin6_scope_id member. */
516#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
517
518/* ---------------------------------------------------------------- */
519/* LARGE FILE SUPPORT */
520/* ---------------------------------------------------------------- */
521
522#if defined(_MSC_VER) && !defined(_WIN32_WCE)
523# if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
524# define USE_WIN32_LARGE_FILES
525# else
526# define USE_WIN32_SMALL_FILES
527# endif
528#endif
529
530#if defined(__MINGW32__) && !defined(USE_WIN32_LARGE_FILES)
531# define USE_WIN32_LARGE_FILES
532#endif
533
534#if defined(__POCC__)
535# undef USE_WIN32_LARGE_FILES
536#endif
537
538#if !defined(USE_WIN32_LARGE_FILES) && !defined(USE_WIN32_SMALL_FILES)
539# define USE_WIN32_SMALL_FILES
540#endif
541
542/* Number of bits in a file offset, on hosts where this is settable. */
543#if defined(USE_WIN32_LARGE_FILES) && defined(__MINGW32__)
544# ifndef _FILE_OFFSET_BITS
545# define _FILE_OFFSET_BITS 64
546# endif
547#endif
548
549#ifdef USE_WIN32_LARGE_FILES
550#define HAVE__FSEEKI64
551#endif
552
553/* Define to the size of `off_t', as computed by sizeof. */
554#if defined(__MINGW32__) && \
555 defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
556# define SIZEOF_OFF_T 8
557#else
558# define SIZEOF_OFF_T 4
559#endif
560
561/* ---------------------------------------------------------------- */
562/* DNS RESOLVER SPECIALTY */
563/* ---------------------------------------------------------------- */
564
565/*
566 * Undefine both USE_ARES and USE_THREADS_WIN32 for synchronous DNS.
567 */
568
569/* Define to enable c-ares asynchronous DNS lookups. */
570/* #define USE_ARES 1 */
571
572/* Default define to enable threaded asynchronous DNS lookups. */
573#if !defined(USE_SYNC_DNS) && !defined(USE_ARES) && \
574 !defined(USE_THREADS_WIN32)
575# define USE_THREADS_WIN32 1
576#endif
577
578#if defined(USE_ARES) && defined(USE_THREADS_WIN32)
579# error "Only one DNS lookup specialty may be defined at most"
580#endif
581
582/* ---------------------------------------------------------------- */
583/* LDAP SUPPORT */
584/* ---------------------------------------------------------------- */
585
586#if defined(CURL_HAS_NOVELL_LDAPSDK)
587#undef USE_WIN32_LDAP
588#define HAVE_LDAP_SSL_H 1
589#define HAVE_LDAP_URL_PARSE 1
590#elif defined(CURL_HAS_OPENLDAP_LDAPSDK)
591#undef USE_WIN32_LDAP
592#define HAVE_LDAP_URL_PARSE 1
593#else
594#undef HAVE_LDAP_URL_PARSE
595#define HAVE_LDAP_SSL 1
596#define USE_WIN32_LDAP 1
597#endif
598
599#if defined(__POCC__) && defined(USE_WIN32_LDAP)
600# define CURL_DISABLE_LDAP 1
601#endif
602
603/* Define to use the Windows crypto library. */
604#if !defined(CURL_WINDOWS_APP)
605#define USE_WIN32_CRYPTO
606#endif
607
608/* Define to use Unix sockets. */
609#define USE_UNIX_SOCKETS
610
611/* ---------------------------------------------------------------- */
612/* ADDITIONAL DEFINITIONS */
613/* ---------------------------------------------------------------- */
614
615/* Define cpu-machine-OS */
616#ifndef OS
617#if defined(_M_IX86) || defined(__i386__) /* x86 (MSVC or gcc) */
618#define OS "i386-pc-win32"
619#elif defined(_M_X64) || defined(__x86_64__) /* x86_64 (MSVC >=2005 or gcc) */
620#define OS "x86_64-pc-win32"
621#elif defined(_M_IA64) || defined(__ia64__) /* Itanium */
622#define OS "ia64-pc-win32"
623#elif defined(_M_ARM_NT) || defined(__arm__) /* ARMv7-Thumb2 (Windows RT) */
624#define OS "thumbv7a-pc-win32"
625#elif defined(_M_ARM64) || defined(__aarch64__) /* ARM64 (Windows 10) */
626#define OS "aarch64-pc-win32"
627#else
628#define OS "unknown-pc-win32"
629#endif
630#endif
631
632/* Name of package */
633#define PACKAGE "curl"
634
635/* If you want to build curl with the built-in manual */
636#define USE_MANUAL 1
637
638#if defined(__POCC__) || defined(USE_IPV6)
639# define ENABLE_IPV6 1
640#endif
641
642#endif /* HEADER_CURL_CONFIG_WIN32_H */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette