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