File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / curl / lib / config-win32.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Jun 3 10:01:15 2020 UTC (5 years ago) by misho
Branches: curl, MAIN
CVS tags: v7_70_0p4, HEAD
curl

    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>