1#ifndef __CURL_CURLBUILD_H 2#define __CURL_CURLBUILD_H 3/*************************************************************************** 4 * _ _ ____ _ 5 * Project ___| | | | _ \| | 6 * / __| | | | |_) | | 7 * | (__| |_| | _ <| |___ 8 * \___|\___/|_| \_\_____| 9 * 10 * Copyright (C) 1998 - 2008, 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/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */ 27/* ================================================================ */ 28 29/* 30 * NOTE 1: 31 * ------- 32 * 33 * Nothing in this file is intended to be modified or adjusted by the 34 * curl library user nor by the curl library builder. 35 * 36 * If you think that something actually needs to be changed, adjusted 37 * or fixed in this file, then, report it on the libcurl development 38 * mailing list: https://cool.haxx.se/mailman/listinfo/curl-library/ 39 * 40 * This header file shall only export symbols which are 'curl' or 'CURL' 41 * prefixed, otherwise public name space would be polluted. 42 * 43 * NOTE 2: 44 * ------- 45 * 46 * Right now you might be staring at file include/curl/curlbuild.h.in or 47 * at file include/curl/curlbuild.h, this is due to the following reason: 48 * 49 * On systems capable of running the configure script, the configure process 50 * will overwrite the distributed include/curl/curlbuild.h file with one that 51 * is suitable and specific to the library being configured and built, which 52 * is generated from the include/curl/curlbuild.h.in template file. 53 * 54 */ 55 56/* ================================================================ */ 57/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */ 58/* ================================================================ */ 59 60#ifdef CURL_SIZEOF_LONG 61#error "CURL_SIZEOF_LONG shall not be defined except in curlbuild.h" 62 Error Compilation_aborted_CURL_SIZEOF_LONG_already_defined 63#endif 64 65#ifdef CURL_TYPEOF_CURL_SOCKLEN_T 66#error "CURL_TYPEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h" 67 Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_already_defined 68#endif 69 70#ifdef CURL_SIZEOF_CURL_SOCKLEN_T 71#error "CURL_SIZEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h" 72 Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_already_defined 73#endif 74 75#ifdef CURL_TYPEOF_CURL_OFF_T 76#error "CURL_TYPEOF_CURL_OFF_T shall not be defined except in curlbuild.h" 77 Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_already_defined 78#endif 79 80#ifdef CURL_FORMAT_CURL_OFF_T 81#error "CURL_FORMAT_CURL_OFF_T shall not be defined except in curlbuild.h" 82 Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_already_defined 83#endif 84 85#ifdef CURL_FORMAT_CURL_OFF_TU 86#error "CURL_FORMAT_CURL_OFF_TU shall not be defined except in curlbuild.h" 87 Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_already_defined 88#endif 89 90#ifdef CURL_FORMAT_OFF_T 91#error "CURL_FORMAT_OFF_T shall not be defined except in curlbuild.h" 92 Error Compilation_aborted_CURL_FORMAT_OFF_T_already_defined 93#endif 94 95#ifdef CURL_SIZEOF_CURL_OFF_T 96#error "CURL_SIZEOF_CURL_OFF_T shall not be defined except in curlbuild.h" 97 Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_already_defined 98#endif 99 100#ifdef CURL_SUFFIX_CURL_OFF_T 101#error "CURL_SUFFIX_CURL_OFF_T shall not be defined except in curlbuild.h" 102 Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_already_defined 103#endif 104 105#ifdef CURL_SUFFIX_CURL_OFF_TU 106#error "CURL_SUFFIX_CURL_OFF_TU shall not be defined except in curlbuild.h" 107 Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_already_defined 108#endif 109 110/* ================================================================ */ 111/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */ 112/* ================================================================ */ 113 114/* Configure process defines this to 1 when it finds out that system */ 115/* header file ws2tcpip.h must be included by the external interface. */ 116#cmakedefine CURL_PULL_WS2TCPIP_H 117#ifdef CURL_PULL_WS2TCPIP_H 118# ifndef WIN32_LEAN_AND_MEAN 119# define WIN32_LEAN_AND_MEAN 120# endif 121# include <windows.h> 122# include <winsock2.h> 123# include <ws2tcpip.h> 124#endif 125 126/* Configure process defines this to 1 when it finds out that system */ 127/* header file sys/types.h must be included by the external interface. */ 128#cmakedefine CURL_PULL_SYS_TYPES_H 129#ifdef CURL_PULL_SYS_TYPES_H 130# include <sys/types.h> 131#endif 132 133/* Configure process defines this to 1 when it finds out that system */ 134/* header file stdint.h must be included by the external interface. */ 135#cmakedefine CURL_PULL_STDINT_H 136#ifdef CURL_PULL_STDINT_H 137# include <stdint.h> 138#endif 139 140/* Configure process defines this to 1 when it finds out that system */ 141/* header file inttypes.h must be included by the external interface. */ 142#cmakedefine CURL_PULL_INTTYPES_H 143#ifdef CURL_PULL_INTTYPES_H 144# include <inttypes.h> 145#endif 146 147/* Configure process defines this to 1 when it finds out that system */ 148/* header file sys/socket.h must be included by the external interface. */ 149#cmakedefine CURL_PULL_SYS_SOCKET_H 150#ifdef CURL_PULL_SYS_SOCKET_H 151# include <sys/socket.h> 152#endif 153 154/* Configure process defines this to 1 when it finds out that system */ 155/* header file sys/poll.h must be included by the external interface. */ 156#cmakedefine CURL_PULL_SYS_POLL_H 157#ifdef CURL_PULL_SYS_POLL_H 158# include <sys/poll.h> 159#endif 160 161/* The size of `long', as computed by sizeof. */ 162#define CURL_SIZEOF_LONG ${CURL_SIZEOF_LONG} 163 164/* Integral data type used for curl_socklen_t. */ 165#define CURL_TYPEOF_CURL_SOCKLEN_T ${CURL_TYPEOF_CURL_SOCKLEN_T} 166 167/* The size of `curl_socklen_t', as computed by sizeof. */ 168#define CURL_SIZEOF_CURL_SOCKLEN_T ${CURL_SIZEOF_CURL_SOCKLEN_T} 169 170/* Data type definition of curl_socklen_t. */ 171typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t; 172 173/* Signed integral data type used for curl_off_t. */ 174#define CURL_TYPEOF_CURL_OFF_T ${CURL_TYPEOF_CURL_OFF_T} 175 176/* Data type definition of curl_off_t. */ 177typedef CURL_TYPEOF_CURL_OFF_T curl_off_t; 178 179/* curl_off_t formatting string directive without "%" conversion specifier. */ 180#define CURL_FORMAT_CURL_OFF_T "${CURL_FORMAT_CURL_OFF_T}" 181 182/* unsigned curl_off_t formatting string without "%" conversion specifier. */ 183#define CURL_FORMAT_CURL_OFF_TU "${CURL_FORMAT_CURL_OFF_TU}" 184 185/* curl_off_t formatting string directive with "%" conversion specifier. */ 186#define CURL_FORMAT_OFF_T "${CURL_FORMAT_OFF_T}" 187 188/* The size of `curl_off_t', as computed by sizeof. */ 189#define CURL_SIZEOF_CURL_OFF_T ${CURL_SIZEOF_CURL_OFF_T} 190 191/* curl_off_t constant suffix. */ 192#define CURL_SUFFIX_CURL_OFF_T ${CURL_SUFFIX_CURL_OFF_T} 193 194/* unsigned curl_off_t constant suffix. */ 195#define CURL_SUFFIX_CURL_OFF_TU ${CURL_SUFFIX_CURL_OFF_TU} 196 197#endif /* __CURL_CURLBUILD_H */ 198