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