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) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, 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 http://curl.haxx.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 ***************************************************************************/
24
25/* ================================================================ */
26/*               Hand crafted config file for Windows               */
27/* ================================================================ */
28
29/* ---------------------------------------------------------------- */
30/*                          HEADER FILES                            */
31/* ---------------------------------------------------------------- */
32
33/* Define if you have the <arpa/inet.h> header file. */
34/* #define HAVE_ARPA_INET_H 1 */
35
36/* Define if you have the <assert.h> header file. */
37#define HAVE_ASSERT_H 1
38
39/* Define if you have the <crypto.h> header file. */
40/* #define HAVE_CRYPTO_H 1 */
41
42/* Define if you have the <errno.h> header file. */
43#define HAVE_ERRNO_H 1
44
45/* Define if you have the <err.h> header file. */
46/* #define HAVE_ERR_H 1 */
47
48/* Define if you have the <fcntl.h> header file. */
49#define HAVE_FCNTL_H 1
50
51/* Define if you have the <getopt.h> header file. */
52#if defined(__MINGW32__) || defined(__POCC__)
53#define HAVE_GETOPT_H 1
54#endif
55
56/* Define to 1 if you have the <inttypes.h> header file. */
57#if defined(_MSC_VER) && (_MSC_VER >= 1800)
58#define HAVE_INTTYPES_H 1
59#endif
60
61/* Define if you have the <io.h> header file. */
62#define HAVE_IO_H 1
63
64/* Define if you have the <limits.h> header file. */
65#define HAVE_LIMITS_H 1
66
67/* Define if you have the <locale.h> header file. */
68#define HAVE_LOCALE_H 1
69
70/* Define if you need <malloc.h> header even with <stdlib.h> header file. */
71#if !defined(__SALFORDC__) && !defined(__POCC__)
72#define NEED_MALLOC_H 1
73#endif
74
75/* Define if you have the <netdb.h> header file. */
76/* #define HAVE_NETDB_H 1 */
77
78/* Define if you have the <netinet/in.h> header file. */
79/* #define HAVE_NETINET_IN_H 1 */
80
81/* Define if you have the <process.h> header file. */
82#ifndef __SALFORDC__
83#define HAVE_PROCESS_H 1
84#endif
85
86/* Define if you have the <signal.h> header file. */
87#define HAVE_SIGNAL_H 1
88
89/* Define if you have the <sgtty.h> header file. */
90/* #define HAVE_SGTTY_H 1 */
91
92/* Define if you have the <ssl.h> header file. */
93/* #define HAVE_SSL_H 1 */
94
95/* Define to 1 if you have the <stdbool.h> header file. */
96#if defined(_MSC_VER) && (_MSC_VER >= 1800)
97#define HAVE_STDBOOL_H 1
98#endif
99
100/* Define if you have the <stdlib.h> header file. */
101#define HAVE_STDLIB_H 1
102
103/* Define if you have the <sys/param.h> header file. */
104/* #define HAVE_SYS_PARAM_H 1 */
105
106/* Define if you have the <sys/select.h> header file. */
107/* #define HAVE_SYS_SELECT_H 1 */
108
109/* Define if you have the <sys/socket.h> header file. */
110/* #define HAVE_SYS_SOCKET_H 1 */
111
112/* Define if you have the <sys/sockio.h> header file. */
113/* #define HAVE_SYS_SOCKIO_H 1 */
114
115/* Define if you have the <sys/stat.h> header file. */
116#define HAVE_SYS_STAT_H 1
117
118/* Define if you have the <sys/time.h> header file. */
119/* #define HAVE_SYS_TIME_H 1 */
120
121/* Define if you have the <sys/types.h> header file. */
122#define HAVE_SYS_TYPES_H 1
123
124/* Define if you have the <sys/utime.h> header file. */
125#ifndef __BORLANDC__
126#define HAVE_SYS_UTIME_H 1
127#endif
128
129/* Define if you have the <termio.h> header file. */
130/* #define HAVE_TERMIO_H 1 */
131
132/* Define if you have the <termios.h> header file. */
133/* #define HAVE_TERMIOS_H 1 */
134
135/* Define if you have the <time.h> header file. */
136#define HAVE_TIME_H 1
137
138/* Define if you have the <unistd.h> header file. */
139#if defined(__MINGW32__) || defined(__WATCOMC__) || defined(__LCC__) || \
140    defined(__POCC__)
141#define HAVE_UNISTD_H 1
142#endif
143
144/* Define if you have the <windows.h> header file. */
145#define HAVE_WINDOWS_H 1
146
147/* Define if you have the <winsock.h> header file. */
148#define HAVE_WINSOCK_H 1
149
150/* Define if you have the <winsock2.h> header file. */
151#ifndef __SALFORDC__
152#define HAVE_WINSOCK2_H 1
153#endif
154
155/* Define if you have the <ws2tcpip.h> header file. */
156#ifndef __SALFORDC__
157#define HAVE_WS2TCPIP_H 1
158#endif
159
160/* ---------------------------------------------------------------- */
161/*                        OTHER HEADER INFO                         */
162/* ---------------------------------------------------------------- */
163
164/* Define if sig_atomic_t is an available typedef. */
165#define HAVE_SIG_ATOMIC_T 1
166
167/* Define if you have the ANSI C header files. */
168#define STDC_HEADERS 1
169
170/* Define if you can safely include both <sys/time.h> and <time.h>. */
171/* #define TIME_WITH_SYS_TIME 1 */
172
173/* Define to 1 if bool is an available type. */
174#if defined(_MSC_VER) && (_MSC_VER >= 1800)
175#define HAVE_BOOL_T 1
176#endif
177
178/* ---------------------------------------------------------------- */
179/*                             FUNCTIONS                            */
180/* ---------------------------------------------------------------- */
181
182/* Define if you have the closesocket function. */
183#define HAVE_CLOSESOCKET 1
184
185/* Define if you don't have vprintf but do have _doprnt. */
186/* #define HAVE_DOPRNT 1 */
187
188/* Define if you have the ftruncate function. */
189#define HAVE_FTRUNCATE 1
190
191/* Define if you have the gethostbyaddr function. */
192#define HAVE_GETHOSTBYADDR 1
193
194/* Define if you have the gethostname function. */
195#define HAVE_GETHOSTNAME 1
196
197/* Define if you have the getpass function. */
198/* #define HAVE_GETPASS 1 */
199
200/* Define if you have the getservbyname function. */
201#define HAVE_GETSERVBYNAME 1
202
203/* Define if you have the getprotobyname function. */
204#define HAVE_GETPROTOBYNAME
205
206/* Define if you have the gettimeofday function. */
207/* #define HAVE_GETTIMEOFDAY 1 */
208
209/* Define if you have the inet_addr function. */
210#define HAVE_INET_ADDR 1
211
212/* Define if you have the ioctlsocket function. */
213#define HAVE_IOCTLSOCKET 1
214
215/* Define if you have a working ioctlsocket FIONBIO function. */
216#define HAVE_IOCTLSOCKET_FIONBIO 1
217
218/* Define if you have the perror function. */
219#define HAVE_PERROR 1
220
221/* Define if you have the RAND_screen function when using SSL. */
222#define HAVE_RAND_SCREEN 1
223
224/* Define if you have the `RAND_status' function when using SSL. */
225#define HAVE_RAND_STATUS 1
226
227/* Define if you have the `CRYPTO_cleanup_all_ex_data' function.
228   This is present in OpenSSL versions after 0.9.6b */
229#define HAVE_CRYPTO_CLEANUP_ALL_EX_DATA 1
230
231/* Define if you have the select function. */
232#define HAVE_SELECT 1
233
234/* Define if you have the setlocale function. */
235#define HAVE_SETLOCALE 1
236
237/* Define if you have the setmode function. */
238#define HAVE_SETMODE 1
239
240/* Define if you have the setvbuf function. */
241#define HAVE_SETVBUF 1
242
243/* Define if you have the socket function. */
244#define HAVE_SOCKET 1
245
246/* Define if you have the strcasecmp function. */
247/* #define HAVE_STRCASECMP 1 */
248
249/* Define if you have the strdup function. */
250#define HAVE_STRDUP 1
251
252/* Define if you have the strftime function. */
253#define HAVE_STRFTIME 1
254
255/* Define if you have the stricmp function. */
256#define HAVE_STRICMP 1
257
258/* Define if you have the strncasecmp function. */
259/* #define HAVE_STRNCASECMP 1 */
260
261/* Define if you have the strnicmp function. */
262#define HAVE_STRNICMP 1
263
264/* Define if you have the strstr function. */
265#define HAVE_STRSTR 1
266
267/* Define if you have the strtoll function. */
268#if defined(__MINGW32__) || defined(__WATCOMC__) || defined(__POCC__) || \
269    (defined(_MSC_VER) && (_MSC_VER >= 1800))
270#define HAVE_STRTOLL 1
271#endif
272
273/* Define if you have the tcgetattr function. */
274/* #define HAVE_TCGETATTR 1 */
275
276/* Define if you have the tcsetattr function. */
277/* #define HAVE_TCSETATTR 1 */
278
279/* Define if you have the utime function. */
280#ifndef __BORLANDC__
281#define HAVE_UTIME 1
282#endif
283
284/* Define to the type qualifier of arg 1 for getnameinfo. */
285#define GETNAMEINFO_QUAL_ARG1 const
286
287/* Define to the type of arg 1 for getnameinfo. */
288#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
289
290/* Define to the type of arg 2 for getnameinfo. */
291#define GETNAMEINFO_TYPE_ARG2 socklen_t
292
293/* Define to the type of args 4 and 6 for getnameinfo. */
294#define GETNAMEINFO_TYPE_ARG46 DWORD
295
296/* Define to the type of arg 7 for getnameinfo. */
297#define GETNAMEINFO_TYPE_ARG7 int
298
299/* Define if you have the recv function. */
300#define HAVE_RECV 1
301
302/* Define to the type of arg 1 for recv. */
303#define RECV_TYPE_ARG1 SOCKET
304
305/* Define to the type of arg 2 for recv. */
306#define RECV_TYPE_ARG2 char *
307
308/* Define to the type of arg 3 for recv. */
309#define RECV_TYPE_ARG3 int
310
311/* Define to the type of arg 4 for recv. */
312#define RECV_TYPE_ARG4 int
313
314/* Define to the function return type for recv. */
315#define RECV_TYPE_RETV int
316
317/* Define if you have the recvfrom function. */
318#define HAVE_RECVFROM 1
319
320/* Define to the type of arg 1 for recvfrom. */
321#define RECVFROM_TYPE_ARG1 SOCKET
322
323/* Define to the type pointed by arg 2 for recvfrom. */
324#define RECVFROM_TYPE_ARG2 char
325
326/* Define to the type of arg 3 for recvfrom. */
327#define RECVFROM_TYPE_ARG3 int
328
329/* Define to the type of arg 4 for recvfrom. */
330#define RECVFROM_TYPE_ARG4 int
331
332/* Define to the type pointed by arg 5 for recvfrom. */
333#define RECVFROM_TYPE_ARG5 struct sockaddr
334
335/* Define to the type pointed by arg 6 for recvfrom. */
336#define RECVFROM_TYPE_ARG6 int
337
338/* Define to the function return type for recvfrom. */
339#define RECVFROM_TYPE_RETV int
340
341/* Define if you have the send function. */
342#define HAVE_SEND 1
343
344/* Define to the type of arg 1 for send. */
345#define SEND_TYPE_ARG1 SOCKET
346
347/* Define to the type qualifier of arg 2 for send. */
348#define SEND_QUAL_ARG2 const
349
350/* Define to the type of arg 2 for send. */
351#define SEND_TYPE_ARG2 char *
352
353/* Define to the type of arg 3 for send. */
354#define SEND_TYPE_ARG3 int
355
356/* Define to the type of arg 4 for send. */
357#define SEND_TYPE_ARG4 int
358
359/* Define to the function return type for send. */
360#define SEND_TYPE_RETV int
361
362/* ---------------------------------------------------------------- */
363/*                       TYPEDEF REPLACEMENTS                       */
364/* ---------------------------------------------------------------- */
365
366/* Define if in_addr_t is not an available 'typedefed' type. */
367#define in_addr_t unsigned long
368
369/* Define to the return type of signal handlers (int or void). */
370#define RETSIGTYPE void
371
372/* Define if ssize_t is not an available 'typedefed' type. */
373#ifndef _SSIZE_T_DEFINED
374#  if (defined(__WATCOMC__) && (__WATCOMC__ >= 1240)) || \
375      defined(__POCC__) || \
376      defined(__MINGW32__)
377#  elif defined(_WIN64)
378#    define _SSIZE_T_DEFINED
379#    define ssize_t __int64
380#  else
381#    define _SSIZE_T_DEFINED
382#    define ssize_t int
383#  endif
384#endif
385
386/* ---------------------------------------------------------------- */
387/*                            TYPE SIZES                            */
388/* ---------------------------------------------------------------- */
389
390/* Define to the size of `int', as computed by sizeof. */
391#define SIZEOF_INT 4
392
393/* Define to the size of `long double', as computed by sizeof. */
394#define SIZEOF_LONG_DOUBLE 16
395
396/* Define to the size of `long long', as computed by sizeof. */
397/* #define SIZEOF_LONG_LONG 8 */
398
399/* Define to the size of `short', as computed by sizeof. */
400#define SIZEOF_SHORT 2
401
402/* Define to the size of `size_t', as computed by sizeof. */
403#if defined(_WIN64)
404#  define SIZEOF_SIZE_T 8
405#else
406#  define SIZEOF_SIZE_T 4
407#endif
408
409/* ---------------------------------------------------------------- */
410/*               BSD-style lwIP TCP/IP stack SPECIFIC               */
411/* ---------------------------------------------------------------- */
412
413/* Define to use BSD-style lwIP TCP/IP stack. */
414/* #define USE_LWIPSOCK 1 */
415
416#ifdef USE_LWIPSOCK
417#  undef USE_WINSOCK
418#  undef HAVE_WINSOCK_H
419#  undef HAVE_WINSOCK2_H
420#  undef HAVE_WS2TCPIP_H
421#  undef HAVE_ERRNO_H
422#  undef HAVE_GETHOSTNAME
423#  undef HAVE_GETNAMEINFO
424#  undef LWIP_POSIX_SOCKETS_IO_NAMES
425#  undef RECV_TYPE_ARG1
426#  undef RECV_TYPE_ARG3
427#  undef SEND_TYPE_ARG1
428#  undef SEND_TYPE_ARG3
429#  define HAVE_FREEADDRINFO
430#  define HAVE_GETADDRINFO
431#  define HAVE_GETHOSTBYNAME
432#  define HAVE_GETHOSTBYNAME_R
433#  define HAVE_GETHOSTBYNAME_R_6
434#  define LWIP_POSIX_SOCKETS_IO_NAMES 0
435#  define RECV_TYPE_ARG1 int
436#  define RECV_TYPE_ARG3 size_t
437#  define SEND_TYPE_ARG1 int
438#  define SEND_TYPE_ARG3 size_t
439#endif
440
441/* ---------------------------------------------------------------- */
442/*                        Watt-32 tcp/ip SPECIFIC                   */
443/* ---------------------------------------------------------------- */
444
445#ifdef USE_WATT32
446  #include <tcp.h>
447  #undef byte
448  #undef word
449  #undef USE_WINSOCK
450  #undef HAVE_WINSOCK_H
451  #undef HAVE_WINSOCK2_H
452  #undef HAVE_WS2TCPIP_H
453  #define HAVE_GETADDRINFO
454  #define HAVE_GETNAMEINFO
455  #define HAVE_SYS_IOCTL_H
456  #define HAVE_SYS_SOCKET_H
457  #define HAVE_NETINET_IN_H
458  #define HAVE_NETDB_H
459  #define HAVE_ARPA_INET_H
460  #define HAVE_FREEADDRINFO
461  #define SOCKET int
462#endif
463
464
465/* ---------------------------------------------------------------- */
466/*                        COMPILER SPECIFIC                         */
467/* ---------------------------------------------------------------- */
468
469/* Define to nothing if compiler does not support 'const' qualifier. */
470/* #define const */
471
472/* Define to nothing if compiler does not support 'volatile' qualifier. */
473/* #define volatile */
474
475/* Windows should not have HAVE_GMTIME_R defined */
476/* #undef HAVE_GMTIME_R */
477
478/* Define if the compiler supports C99 variadic macro style. */
479#if defined(_MSC_VER) && (_MSC_VER >= 1400)
480#define HAVE_VARIADIC_MACROS_C99 1
481#endif
482
483/* Define if the compiler supports the 'long long' data type. */
484#if defined(__MINGW32__) || defined(__WATCOMC__) || \
485    (defined(_MSC_VER) && (_MSC_VER >= 1310))
486#define HAVE_LONGLONG 1
487#endif
488
489/* Define to avoid VS2005 complaining about portable C functions. */
490#if defined(_MSC_VER) && (_MSC_VER >= 1400)
491#define _CRT_SECURE_NO_DEPRECATE 1
492#define _CRT_NONSTDC_NO_DEPRECATE 1
493#endif
494
495/* VS2005 and later dafault size for time_t is 64-bit, unless
496   _USE_32BIT_TIME_T has been defined to get a 32-bit time_t. */
497#if defined(_MSC_VER) && (_MSC_VER >= 1400)
498#  ifndef _USE_32BIT_TIME_T
499#    define SIZEOF_TIME_T 8
500#  else
501#    define SIZEOF_TIME_T 4
502#  endif
503#endif
504
505/* Define some minimum and default build targets for Visual Studio */
506#if defined(_MSC_VER)
507   /* Officially, Microsoft's Windows SDK versions 6.X does not support Windows
508      2000 as a supported build target. VS2008 default installations provides
509      an embedded Windows SDK v6.0A along with the claim that Windows 2000 is a
510      valid build target for VS2008. Popular belief is that binaries built with
511      VS2008 using Windows SDK versions v6.X and Windows 2000 as a build target
512      are functional. */
513#  define VS2008_MIN_TARGET 0x0500
514
515   /* The minimum build target for VS2012 is Vista unless Update 1 is installed
516      and the v110_xp toolset is choosen. */
517#  if defined(_USING_V110_SDK71_)
518#    define VS2012_MIN_TARGET 0x0501
519#  else
520#    define VS2012_MIN_TARGET 0x0600
521#  endif
522
523   /* VS2008 default build target is Windows Vista. We override default target
524      to be Windows XP. */
525#  define VS2008_DEF_TARGET 0x0501
526
527   /* VS2012 default build target is Windows Vista unless Update 1 is installed
528      and the v110_xp toolset is choosen. */
529#  if defined(_USING_V110_SDK71_)
530#    define VS2012_DEF_TARGET 0x0501
531#  else
532#    define VS2012_DEF_TARGET 0x0600
533#  endif
534#endif
535
536/* VS2008 default target settings and minimum build target check. */
537#if defined(_MSC_VER) && (_MSC_VER >= 1500) && (_MSC_VER <= 1600)
538#  ifndef _WIN32_WINNT
539#    define _WIN32_WINNT VS2008_DEF_TARGET
540#  endif
541#  ifndef WINVER
542#    define WINVER VS2008_DEF_TARGET
543#  endif
544#  if (_WIN32_WINNT < VS2008_MIN_TARGET) || (WINVER < VS2008_MIN_TARGET)
545#    error VS2008 does not support Windows build targets prior to Windows 2000
546#  endif
547#endif
548
549/* VS2012 default target settings and minimum build target check. */
550#if defined(_MSC_VER) && (_MSC_VER >= 1700)
551#  ifndef _WIN32_WINNT
552#    define _WIN32_WINNT VS2012_DEF_TARGET
553#  endif
554#  ifndef WINVER
555#    define WINVER VS2012_DEF_TARGET
556#  endif
557#  if (_WIN32_WINNT < VS2012_MIN_TARGET) || (WINVER < VS2012_MIN_TARGET)
558#    if defined(_USING_V110_SDK71_)
559#      error VS2012 does not support Windows build targets prior to Windows XP
560#    else
561#      error VS2012 does not support Windows build targets prior to Windows \
562Vista
563#    endif
564#  endif
565#endif
566
567/* When no build target is specified Pelles C 5.00 and later default build
568   target is Windows Vista. We override default target to be Windows 2000. */
569#if defined(__POCC__) && (__POCC__ >= 500)
570#  ifndef _WIN32_WINNT
571#    define _WIN32_WINNT 0x0500
572#  endif
573#  ifndef WINVER
574#    define WINVER 0x0500
575#  endif
576#endif
577
578/* Availability of freeaddrinfo, getaddrinfo and getnameinfo functions is
579   quite convoluted, compiler dependent and even build target dependent. */
580#if defined(HAVE_WS2TCPIP_H)
581#  if defined(__POCC__)
582#    define HAVE_FREEADDRINFO           1
583#    define HAVE_GETADDRINFO            1
584#    define HAVE_GETADDRINFO_THREADSAFE 1
585#    define HAVE_GETNAMEINFO            1
586#  elif defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0501)
587#    define HAVE_FREEADDRINFO           1
588#    define HAVE_GETADDRINFO            1
589#    define HAVE_GETADDRINFO_THREADSAFE 1
590#    define HAVE_GETNAMEINFO            1
591#  elif defined(_MSC_VER) && (_MSC_VER >= 1200)
592#    define HAVE_FREEADDRINFO           1
593#    define HAVE_GETADDRINFO            1
594#    define HAVE_GETADDRINFO_THREADSAFE 1
595#    define HAVE_GETNAMEINFO            1
596#  endif
597#endif
598
599#if defined(__POCC__)
600#  ifndef _MSC_VER
601#    error Microsoft extensions /Ze compiler option is required
602#  endif
603#  ifndef __POCC__OLDNAMES
604#    error Compatibility names /Go compiler option is required
605#  endif
606#endif
607
608/* ---------------------------------------------------------------- */
609/*                          STRUCT RELATED                          */
610/* ---------------------------------------------------------------- */
611
612/* Define if you have struct sockaddr_storage. */
613#if !defined(__SALFORDC__) && !defined(__BORLANDC__)
614#define HAVE_STRUCT_SOCKADDR_STORAGE 1
615#endif
616
617/* Define if you have struct timeval. */
618#define HAVE_STRUCT_TIMEVAL 1
619
620/* Define if struct sockaddr_in6 has the sin6_scope_id member. */
621#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
622
623#if HAVE_WINSOCK2_H && defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0600)
624#define HAVE_STRUCT_POLLFD 1
625#endif
626
627/* ---------------------------------------------------------------- */
628/*                        LARGE FILE SUPPORT                        */
629/* ---------------------------------------------------------------- */
630
631#if defined(_MSC_VER) && !defined(_WIN32_WCE)
632#  if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
633#    define USE_WIN32_LARGE_FILES
634#  else
635#    define USE_WIN32_SMALL_FILES
636#  endif
637#endif
638
639#if defined(__MINGW32__) && !defined(USE_WIN32_LARGE_FILES)
640#  define USE_WIN32_LARGE_FILES
641#endif
642
643#if defined(__WATCOMC__) && !defined(USE_WIN32_LARGE_FILES)
644#  define USE_WIN32_LARGE_FILES
645#endif
646
647#if defined(__POCC__)
648#  undef USE_WIN32_LARGE_FILES
649#endif
650
651#if !defined(USE_WIN32_LARGE_FILES) && !defined(USE_WIN32_SMALL_FILES)
652#  define USE_WIN32_SMALL_FILES
653#endif
654
655/* ---------------------------------------------------------------- */
656/*                       DNS RESOLVER SPECIALTY                     */
657/* ---------------------------------------------------------------- */
658
659/*
660 * Undefine both USE_ARES and USE_THREADS_WIN32 for synchronous DNS.
661 */
662
663/* Define to enable c-ares asynchronous DNS lookups. */
664/* #define USE_ARES 1 */
665
666/* Default define to enable threaded asynchronous DNS lookups. */
667#if !defined(USE_SYNC_DNS) && !defined(USE_ARES) && \
668    !defined(USE_THREADS_WIN32)
669#  define USE_THREADS_WIN32 1
670#endif
671
672#if defined(USE_ARES) && defined(USE_THREADS_WIN32)
673#  error "Only one DNS lookup specialty may be defined at most"
674#endif
675
676/* ---------------------------------------------------------------- */
677/*                           LDAP SUPPORT                           */
678/* ---------------------------------------------------------------- */
679
680#if defined(CURL_HAS_NOVELL_LDAPSDK) || defined(CURL_HAS_MOZILLA_LDAPSDK)
681#undef USE_WIN32_LDAP
682#define HAVE_LDAP_SSL_H 1
683#define HAVE_LDAP_URL_PARSE 1
684#elif defined(CURL_HAS_OPENLDAP_LDAPSDK)
685#undef USE_WIN32_LDAP
686#define HAVE_LDAP_URL_PARSE 1
687#else
688#undef HAVE_LDAP_URL_PARSE
689#define USE_WIN32_LDAP 1
690#endif
691
692#if defined(__WATCOMC__) && defined(USE_WIN32_LDAP)
693#if __WATCOMC__ < 1280
694#define WINBERAPI  __declspec(cdecl)
695#define WINLDAPAPI __declspec(cdecl)
696#endif
697#endif
698
699#if defined(__POCC__) && defined(USE_WIN32_LDAP)
700#  define CURL_DISABLE_LDAP 1
701#endif
702
703/* Define to use the Windows crypto library. */
704#if !defined(USE_OPENSSL) && !defined(USE_NSS)
705#define USE_WIN32_CRYPTO
706#endif
707
708/* ---------------------------------------------------------------- */
709/*                       ADDITIONAL DEFINITIONS                     */
710/* ---------------------------------------------------------------- */
711
712/* Define cpu-machine-OS */
713#undef OS
714#if defined(_M_IX86) || defined(__i386__) /* x86 (MSVC or gcc) */
715#define OS "i386-pc-win32"
716#elif defined(_M_X64) || defined(__x86_64__) /* x86_64 (MSVC >=2005 or gcc) */
717#define OS "x86_64-pc-win32"
718#elif defined(_M_IA64) /* Itanium */
719#define OS "ia64-pc-win32"
720#else
721#define OS "unknown-pc-win32"
722#endif
723
724/* Name of package */
725#define PACKAGE "curl"
726
727/* If you want to build curl with the built-in manual */
728#define USE_MANUAL 1
729
730#if defined(__POCC__) || (USE_IPV6)
731#  define ENABLE_IPV6 1
732#endif
733
734#endif /* HEADER_CURL_CONFIG_WIN32_H */
735