1#*************************************************************************** 2# _ _ ____ _ 3# Project ___| | | | _ \| | 4# / __| | | | |_) | | 5# | (__| |_| | _ <| |___ 6# \___|\___/|_| \_\_____| 7# 8# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. 9# 10# This software is licensed as described in the file COPYING, which 11# you should have received as part of this distribution. The terms 12# are also available at https://curl.se/docs/copyright.html. 13# 14# You may opt to use, copy, modify, merge, publish, distribute and/or sell 15# copies of the Software, and permit persons to whom the Software is 16# furnished to do so, under the terms of the COPYING file. 17# 18# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 19# KIND, either express or implied. 20# 21# SPDX-License-Identifier: curl 22# 23########################################################################### 24if(NOT WIN32) 25 message(FATAL_ERROR "This file should be included on Windows platform only") 26endif() 27 28set(HAVE_LOCALE_H 1) 29 30if(MINGW) 31 set(HAVE_SNPRINTF 1) 32 set(HAVE_UNISTD_H 1) 33 set(HAVE_LIBGEN_H 1) 34 set(HAVE_STDDEF_H 1) # detected by CMake internally in check_type_size() 35 set(HAVE_STDINT_H 1) # detected by CMake internally in check_type_size() 36 set(HAVE_STDBOOL_H 1) 37 set(HAVE_BOOL_T "${HAVE_STDBOOL_H}") 38 set(HAVE_STRTOLL 1) 39 set(HAVE_BASENAME 1) 40 set(HAVE_FTRUNCATE 1) 41 set(HAVE_SYS_PARAM_H 1) 42 set(HAVE_SYS_TIME_H 1) 43 set(HAVE_GETTIMEOFDAY 1) 44 set(HAVE_STRINGS_H 1) # wrapper to string.h 45 set(HAVE_UTIME_H 1) # wrapper to sys/utime.h 46 set(HAVE_DIRENT_H 1) 47 set(HAVE_OPENDIR 1) 48 if(MINGW64_VERSION) 49 if(NOT MINGW64_VERSION VERSION_LESS 4.0) 50 set(HAVE_STRTOK_R 1) 51 else() 52 set(HAVE_STRTOK_R 0) 53 endif() 54 endif() 55 if((CMAKE_COMPILER_IS_GNUCC AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.9) OR 56 (CMAKE_C_COMPILER_ID STREQUAL "Clang" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 3.6)) 57 set(HAVE_STDATOMIC_H 1) 58 set(HAVE_ATOMIC 1) 59 else() 60 set(HAVE_STDATOMIC_H 0) 61 set(HAVE_ATOMIC 0) 62 endif() 63else() 64 set(HAVE_LIBGEN_H 0) 65 set(HAVE_FTRUNCATE 0) 66 set(HAVE_SYS_PARAM_H 0) 67 set(HAVE_SYS_TIME_H 0) 68 set(HAVE_GETTIMEOFDAY 0) 69 set(HAVE_STRINGS_H 0) 70 set(HAVE_UTIME_H 0) 71 set(HAVE_DIRENT_H 0) 72 set(HAVE_OPENDIR 0) 73 if(MSVC) 74 set(HAVE_UNISTD_H 0) 75 set(HAVE_STDDEF_H 1) # detected by CMake internally in check_type_size() 76 set(HAVE_STDATOMIC_H 0) 77 if(NOT MSVC_VERSION LESS 1600) 78 set(HAVE_STDINT_H 1) # detected by CMake internally in check_type_size() 79 else() 80 set(HAVE_STDINT_H 0) # detected by CMake internally in check_type_size() 81 endif() 82 if(NOT MSVC_VERSION LESS 1800) 83 set(HAVE_STDBOOL_H 1) 84 set(HAVE_STRTOLL 1) 85 else() 86 set(HAVE_STDBOOL_H 0) 87 set(HAVE_STRTOLL 0) 88 endif() 89 set(HAVE_BOOL_T "${HAVE_STDBOOL_H}") 90 if(NOT MSVC_VERSION LESS 1900) 91 set(HAVE_SNPRINTF 1) 92 else() 93 set(HAVE_SNPRINTF 0) 94 endif() 95 set(HAVE_BASENAME 0) 96 set(HAVE_STRTOK_R 0) 97 set(HAVE_FILE_OFFSET_BITS 0) 98 set(HAVE_ATOMIC 0) 99 endif() 100endif() 101 102# Available in Windows XP and newer 103set(HAVE_GETADDRINFO 1) 104set(HAVE_FREEADDRINFO 1) 105 106set(HAVE_SOCKETPAIR 0) 107set(HAVE_SENDMSG 0) 108set(HAVE_SENDMMSG 0) 109set(HAVE_ALARM 0) 110set(HAVE_FCNTL 0) 111set(HAVE_GETPPID 0) 112set(HAVE_UTIMES 0) 113set(HAVE_GETPWUID_R 0) 114set(HAVE_STRERROR_R 0) 115set(HAVE_SIGINTERRUPT 0) 116set(HAVE_PIPE 0) 117set(HAVE_EVENTFD 0) 118set(HAVE_IF_NAMETOINDEX 0) 119set(HAVE_GETRLIMIT 0) 120set(HAVE_SETRLIMIT 0) 121set(HAVE_FSETXATTR 0) 122set(HAVE_SETLOCALE 1) 123set(HAVE_SETMODE 1) 124set(HAVE__SETMODE 1) 125set(HAVE_GETPEERNAME 1) 126set(HAVE_GETSOCKNAME 1) 127set(HAVE_GETHOSTNAME 1) 128 129set(HAVE_RECV 1) 130set(HAVE_SEND 1) 131set(HAVE_STROPTS_H 0) 132set(HAVE_ARC4RANDOM 0) 133set(HAVE_FNMATCH 0) 134set(HAVE_ARPA_INET_H 0) 135set(HAVE_FCNTL_H 1) 136set(HAVE_IFADDRS_H 0) 137set(HAVE_IO_H 1) 138set(HAVE_NETDB_H 0) 139set(HAVE_NETINET_IN_H 0) 140set(HAVE_NETINET_IN6_H 0) 141set(HAVE_NETINET_TCP_H 0) 142set(HAVE_NETINET_UDP_H 0) 143set(HAVE_NET_IF_H 0) 144set(HAVE_IOCTL_SIOCGIFADDR 0) 145set(HAVE_POLL_H 0) 146set(HAVE_POLL 0) 147set(HAVE_PWD_H 0) 148set(HAVE_SYS_EVENTFD_H 0) 149set(HAVE_SYS_FILIO_H 0) 150set(HAVE_SYS_IOCTL_H 0) 151set(HAVE_SYS_POLL_H 0) 152set(HAVE_SYS_RESOURCE_H 0) 153set(HAVE_SYS_SELECT_H 0) 154set(HAVE_SYS_SOCKET_H 0) 155set(HAVE_SYS_SOCKIO_H 0) 156set(HAVE_SYS_STAT_H 1) 157set(HAVE_SYS_TYPES_H 1) 158set(HAVE_SYS_UN_H 0) 159set(HAVE_SYS_UTIME_H 1) 160set(HAVE_TERMIOS_H 0) 161set(HAVE_TERMIO_H 0) 162set(HAVE_LINUX_TCP_H 0) 163 164set(HAVE_SOCKET 1) 165set(HAVE_SELECT 1) 166set(HAVE_STRDUP 1) 167set(HAVE_MEMRCHR 0) 168set(HAVE_CLOSESOCKET 1) 169set(HAVE_SIGSETJMP 0) 170set(HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1) 171set(HAVE_GETPASS_R 0) 172set(HAVE_GETPWUID 0) 173set(HAVE_GETEUID 0) 174set(HAVE_UTIME 1) 175set(HAVE_GMTIME_R 0) 176set(HAVE_GETHOSTBYNAME_R 0) 177set(HAVE_SIGNAL 1) 178set(HAVE_SIGACTION 0) 179set(HAVE_GLIBC_STRERROR_R 0) 180set(HAVE_GETIFADDRS 0) 181set(HAVE_FCNTL_O_NONBLOCK 0) 182set(HAVE_IOCTLSOCKET 1) 183set(HAVE_IOCTLSOCKET_CAMEL 0) 184set(HAVE_IOCTLSOCKET_CAMEL_FIONBIO 0) 185set(HAVE_IOCTLSOCKET_FIONBIO 1) 186set(HAVE_IOCTL_FIONBIO 0) 187set(HAVE_SETSOCKOPT_SO_NONBLOCK 0) 188set(HAVE_POSIX_STRERROR_R 0) 189set(HAVE_MSG_NOSIGNAL 0) 190set(HAVE_STRUCT_TIMEVAL 1) 191set(HAVE_STRUCT_SOCKADDR_STORAGE 1) 192set(HAVE_TIME_T_UNSIGNED 0) 193 194set(HAVE_GETHOSTBYNAME_R_3 0) 195set(HAVE_GETHOSTBYNAME_R_3_REENTRANT 0) 196set(HAVE_GETHOSTBYNAME_R_5 0) 197set(HAVE_GETHOSTBYNAME_R_5_REENTRANT 0) 198set(HAVE_GETHOSTBYNAME_R_6 0) 199set(HAVE_GETHOSTBYNAME_R_6_REENTRANT 0) 200 201set(HAVE_IN_ADDR_T 0) 202set(STDC_HEADERS 1) 203 204set(HAVE_SIZEOF_SUSECONDS_T 0) 205set(HAVE_SIZEOF_SA_FAMILY_T 0) 206