1*9712c20fSFrederick Mayle /* include/curl/curlbuild.h. Generated from curlbuild.h.in by configure. */ 2*9712c20fSFrederick Mayle #ifndef __CURL_CURLBUILD_H 3*9712c20fSFrederick Mayle #define __CURL_CURLBUILD_H 4*9712c20fSFrederick Mayle /*************************************************************************** 5*9712c20fSFrederick Mayle * _ _ ____ _ 6*9712c20fSFrederick Mayle * Project ___| | | | _ \| | 7*9712c20fSFrederick Mayle * / __| | | | |_) | | 8*9712c20fSFrederick Mayle * | (__| |_| | _ <| |___ 9*9712c20fSFrederick Mayle * \___|\___/|_| \_\_____| 10*9712c20fSFrederick Mayle * 11*9712c20fSFrederick Mayle * Copyright (C) 1998 - 2009, Daniel Stenberg, <[email protected]>, et al. 12*9712c20fSFrederick Mayle * 13*9712c20fSFrederick Mayle * This software is licensed as described in the file COPYING, which 14*9712c20fSFrederick Mayle * you should have received as part of this distribution. The terms 15*9712c20fSFrederick Mayle * are also available at http://curl.haxx.se/docs/copyright.html. 16*9712c20fSFrederick Mayle * 17*9712c20fSFrederick Mayle * You may opt to use, copy, modify, merge, publish, distribute and/or sell 18*9712c20fSFrederick Mayle * copies of the Software, and permit persons to whom the Software is 19*9712c20fSFrederick Mayle * furnished to do so, under the terms of the COPYING file. 20*9712c20fSFrederick Mayle * 21*9712c20fSFrederick Mayle * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 22*9712c20fSFrederick Mayle * KIND, either express or implied. 23*9712c20fSFrederick Mayle * 24*9712c20fSFrederick Mayle * $Id: curlbuild.h.in,v 1.8 2009-04-29 15:15:38 yangtse Exp $ 25*9712c20fSFrederick Mayle ***************************************************************************/ 26*9712c20fSFrederick Mayle 27*9712c20fSFrederick Mayle /* ================================================================ */ 28*9712c20fSFrederick Mayle /* NOTES FOR CONFIGURE CAPABLE SYSTEMS */ 29*9712c20fSFrederick Mayle /* ================================================================ */ 30*9712c20fSFrederick Mayle 31*9712c20fSFrederick Mayle /* 32*9712c20fSFrederick Mayle * NOTE 1: 33*9712c20fSFrederick Mayle * ------- 34*9712c20fSFrederick Mayle * 35*9712c20fSFrederick Mayle * Nothing in this file is intended to be modified or adjusted by the 36*9712c20fSFrederick Mayle * curl library user nor by the curl library builder. 37*9712c20fSFrederick Mayle * 38*9712c20fSFrederick Mayle * If you think that something actually needs to be changed, adjusted 39*9712c20fSFrederick Mayle * or fixed in this file, then, report it on the libcurl development 40*9712c20fSFrederick Mayle * mailing list: http://cool.haxx.se/mailman/listinfo/curl-library/ 41*9712c20fSFrederick Mayle * 42*9712c20fSFrederick Mayle * This header file shall only export symbols which are 'curl' or 'CURL' 43*9712c20fSFrederick Mayle * prefixed, otherwise public name space would be polluted. 44*9712c20fSFrederick Mayle * 45*9712c20fSFrederick Mayle * NOTE 2: 46*9712c20fSFrederick Mayle * ------- 47*9712c20fSFrederick Mayle * 48*9712c20fSFrederick Mayle * Right now you might be staring at file include/curl/curlbuild.h.in or 49*9712c20fSFrederick Mayle * at file include/curl/curlbuild.h, this is due to the following reason: 50*9712c20fSFrederick Mayle * 51*9712c20fSFrederick Mayle * On systems capable of running the configure script, the configure process 52*9712c20fSFrederick Mayle * will overwrite the distributed include/curl/curlbuild.h file with one that 53*9712c20fSFrederick Mayle * is suitable and specific to the library being configured and built, which 54*9712c20fSFrederick Mayle * is generated from the include/curl/curlbuild.h.in template file. 55*9712c20fSFrederick Mayle * 56*9712c20fSFrederick Mayle */ 57*9712c20fSFrederick Mayle 58*9712c20fSFrederick Mayle /* ================================================================ */ 59*9712c20fSFrederick Mayle /* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */ 60*9712c20fSFrederick Mayle /* ================================================================ */ 61*9712c20fSFrederick Mayle 62*9712c20fSFrederick Mayle #ifdef CURL_SIZEOF_LONG 63*9712c20fSFrederick Mayle # error "CURL_SIZEOF_LONG shall not be defined except in curlbuild.h" 64*9712c20fSFrederick Mayle Error Compilation_aborted_CURL_SIZEOF_LONG_already_defined 65*9712c20fSFrederick Mayle #endif 66*9712c20fSFrederick Mayle 67*9712c20fSFrederick Mayle #ifdef CURL_TYPEOF_CURL_SOCKLEN_T 68*9712c20fSFrederick Mayle # error "CURL_TYPEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h" 69*9712c20fSFrederick Mayle Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_already_defined 70*9712c20fSFrederick Mayle #endif 71*9712c20fSFrederick Mayle 72*9712c20fSFrederick Mayle #ifdef CURL_SIZEOF_CURL_SOCKLEN_T 73*9712c20fSFrederick Mayle # error "CURL_SIZEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h" 74*9712c20fSFrederick Mayle Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_already_defined 75*9712c20fSFrederick Mayle #endif 76*9712c20fSFrederick Mayle 77*9712c20fSFrederick Mayle #ifdef CURL_TYPEOF_CURL_OFF_T 78*9712c20fSFrederick Mayle # error "CURL_TYPEOF_CURL_OFF_T shall not be defined except in curlbuild.h" 79*9712c20fSFrederick Mayle Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_already_defined 80*9712c20fSFrederick Mayle #endif 81*9712c20fSFrederick Mayle 82*9712c20fSFrederick Mayle #ifdef CURL_FORMAT_CURL_OFF_T 83*9712c20fSFrederick Mayle # error "CURL_FORMAT_CURL_OFF_T shall not be defined except in curlbuild.h" 84*9712c20fSFrederick Mayle Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_already_defined 85*9712c20fSFrederick Mayle #endif 86*9712c20fSFrederick Mayle 87*9712c20fSFrederick Mayle #ifdef CURL_FORMAT_CURL_OFF_TU 88*9712c20fSFrederick Mayle # error "CURL_FORMAT_CURL_OFF_TU shall not be defined except in curlbuild.h" 89*9712c20fSFrederick Mayle Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_already_defined 90*9712c20fSFrederick Mayle #endif 91*9712c20fSFrederick Mayle 92*9712c20fSFrederick Mayle #ifdef CURL_FORMAT_OFF_T 93*9712c20fSFrederick Mayle # error "CURL_FORMAT_OFF_T shall not be defined except in curlbuild.h" 94*9712c20fSFrederick Mayle Error Compilation_aborted_CURL_FORMAT_OFF_T_already_defined 95*9712c20fSFrederick Mayle #endif 96*9712c20fSFrederick Mayle 97*9712c20fSFrederick Mayle #ifdef CURL_SIZEOF_CURL_OFF_T 98*9712c20fSFrederick Mayle # error "CURL_SIZEOF_CURL_OFF_T shall not be defined except in curlbuild.h" 99*9712c20fSFrederick Mayle Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_already_defined 100*9712c20fSFrederick Mayle #endif 101*9712c20fSFrederick Mayle 102*9712c20fSFrederick Mayle #ifdef CURL_SUFFIX_CURL_OFF_T 103*9712c20fSFrederick Mayle # error "CURL_SUFFIX_CURL_OFF_T shall not be defined except in curlbuild.h" 104*9712c20fSFrederick Mayle Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_already_defined 105*9712c20fSFrederick Mayle #endif 106*9712c20fSFrederick Mayle 107*9712c20fSFrederick Mayle #ifdef CURL_SUFFIX_CURL_OFF_TU 108*9712c20fSFrederick Mayle # error "CURL_SUFFIX_CURL_OFF_TU shall not be defined except in curlbuild.h" 109*9712c20fSFrederick Mayle Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_already_defined 110*9712c20fSFrederick Mayle #endif 111*9712c20fSFrederick Mayle 112*9712c20fSFrederick Mayle /* ================================================================ */ 113*9712c20fSFrederick Mayle /* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */ 114*9712c20fSFrederick Mayle /* ================================================================ */ 115*9712c20fSFrederick Mayle 116*9712c20fSFrederick Mayle /* Configure process defines this to 1 when it finds out that system */ 117*9712c20fSFrederick Mayle /* header file ws2tcpip.h must be included by the external interface. */ 118*9712c20fSFrederick Mayle /* #undef CURL_PULL_WS2TCPIP_H */ 119*9712c20fSFrederick Mayle #ifdef CURL_PULL_WS2TCPIP_H 120*9712c20fSFrederick Mayle # ifndef WIN32_LEAN_AND_MEAN 121*9712c20fSFrederick Mayle # define WIN32_LEAN_AND_MEAN 122*9712c20fSFrederick Mayle # endif 123*9712c20fSFrederick Mayle # include <windows.h> 124*9712c20fSFrederick Mayle # include <winsock2.h> 125*9712c20fSFrederick Mayle # include <ws2tcpip.h> 126*9712c20fSFrederick Mayle #endif 127*9712c20fSFrederick Mayle 128*9712c20fSFrederick Mayle /* Configure process defines this to 1 when it finds out that system */ 129*9712c20fSFrederick Mayle /* header file sys/types.h must be included by the external interface. */ 130*9712c20fSFrederick Mayle #define CURL_PULL_SYS_TYPES_H 1 131*9712c20fSFrederick Mayle #ifdef CURL_PULL_SYS_TYPES_H 132*9712c20fSFrederick Mayle # include <sys/types.h> 133*9712c20fSFrederick Mayle #endif 134*9712c20fSFrederick Mayle 135*9712c20fSFrederick Mayle /* Configure process defines this to 1 when it finds out that system */ 136*9712c20fSFrederick Mayle /* header file stdint.h must be included by the external interface. */ 137*9712c20fSFrederick Mayle /* #undef CURL_PULL_STDINT_H */ 138*9712c20fSFrederick Mayle #ifdef CURL_PULL_STDINT_H 139*9712c20fSFrederick Mayle # include <stdint.h> 140*9712c20fSFrederick Mayle #endif 141*9712c20fSFrederick Mayle 142*9712c20fSFrederick Mayle /* Configure process defines this to 1 when it finds out that system */ 143*9712c20fSFrederick Mayle /* header file inttypes.h must be included by the external interface. */ 144*9712c20fSFrederick Mayle /* #undef CURL_PULL_INTTYPES_H */ 145*9712c20fSFrederick Mayle #ifdef CURL_PULL_INTTYPES_H 146*9712c20fSFrederick Mayle # include <inttypes.h> 147*9712c20fSFrederick Mayle #endif 148*9712c20fSFrederick Mayle 149*9712c20fSFrederick Mayle /* Configure process defines this to 1 when it finds out that system */ 150*9712c20fSFrederick Mayle /* header file sys/socket.h must be included by the external interface. */ 151*9712c20fSFrederick Mayle #define CURL_PULL_SYS_SOCKET_H 1 152*9712c20fSFrederick Mayle #ifdef CURL_PULL_SYS_SOCKET_H 153*9712c20fSFrederick Mayle # include <sys/socket.h> 154*9712c20fSFrederick Mayle #endif 155*9712c20fSFrederick Mayle 156*9712c20fSFrederick Mayle /* The size of `long', as computed by sizeof. */ 157*9712c20fSFrederick Mayle #if defined(_M_X64) || (defined(__x86_64__) && !defined(__ILP32__)) || \ 158*9712c20fSFrederick Mayle defined(__aarch64__) || (defined(__mips__) && _MIPS_SIM == _ABI64) || \ 159*9712c20fSFrederick Mayle defined(__powerpc64__) || defined(__s390x__) || defined(__LP64__) || \ 160*9712c20fSFrederick Mayle (defined(__riscv) && __riscv_xlen == 64) 161*9712c20fSFrederick Mayle #define CURL_SIZEOF_LONG 8 162*9712c20fSFrederick Mayle #else 163*9712c20fSFrederick Mayle #define CURL_SIZEOF_LONG 4 164*9712c20fSFrederick Mayle #endif 165*9712c20fSFrederick Mayle 166*9712c20fSFrederick Mayle /* Integral data type used for curl_socklen_t. */ 167*9712c20fSFrederick Mayle #define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t 168*9712c20fSFrederick Mayle 169*9712c20fSFrederick Mayle /* The size of `curl_socklen_t', as computed by sizeof. */ 170*9712c20fSFrederick Mayle #define CURL_SIZEOF_CURL_SOCKLEN_T 4 171*9712c20fSFrederick Mayle 172*9712c20fSFrederick Mayle /* Data type definition of curl_socklen_t. */ 173*9712c20fSFrederick Mayle typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t; 174*9712c20fSFrederick Mayle 175*9712c20fSFrederick Mayle /* Signed integral data type used for curl_off_t. */ 176*9712c20fSFrederick Mayle #if defined(_M_X64) || (defined(__x86_64__) && !defined(__ILP32__)) || \ 177*9712c20fSFrederick Mayle defined(__aarch64__) 178*9712c20fSFrederick Mayle #define CURL_TYPEOF_CURL_OFF_T long 179*9712c20fSFrederick Mayle #else 180*9712c20fSFrederick Mayle #define CURL_TYPEOF_CURL_OFF_T int64_t 181*9712c20fSFrederick Mayle #endif 182*9712c20fSFrederick Mayle 183*9712c20fSFrederick Mayle /* Data type definition of curl_off_t. */ 184*9712c20fSFrederick Mayle typedef CURL_TYPEOF_CURL_OFF_T curl_off_t; 185*9712c20fSFrederick Mayle 186*9712c20fSFrederick Mayle /* curl_off_t formatting string directive without "%" conversion specifier. */ 187*9712c20fSFrederick Mayle #define CURL_FORMAT_CURL_OFF_T "ld" 188*9712c20fSFrederick Mayle 189*9712c20fSFrederick Mayle /* unsigned curl_off_t formatting string without "%" conversion specifier. */ 190*9712c20fSFrederick Mayle #define CURL_FORMAT_CURL_OFF_TU "lu" 191*9712c20fSFrederick Mayle 192*9712c20fSFrederick Mayle /* curl_off_t formatting string directive with "%" conversion specifier. */ 193*9712c20fSFrederick Mayle #define CURL_FORMAT_OFF_T "%ld" 194*9712c20fSFrederick Mayle 195*9712c20fSFrederick Mayle /* The size of `curl_off_t', as computed by sizeof. */ 196*9712c20fSFrederick Mayle #define CURL_SIZEOF_CURL_OFF_T 8 197*9712c20fSFrederick Mayle 198*9712c20fSFrederick Mayle /* curl_off_t constant suffix. */ 199*9712c20fSFrederick Mayle #define CURL_SUFFIX_CURL_OFF_T L 200*9712c20fSFrederick Mayle 201*9712c20fSFrederick Mayle /* unsigned curl_off_t constant suffix. */ 202*9712c20fSFrederick Mayle #define CURL_SUFFIX_CURL_OFF_TU UL 203*9712c20fSFrederick Mayle 204*9712c20fSFrederick Mayle #endif /* __CURL_CURLBUILD_H */ 205