1 #ifndef __CURL_CURLBUILD_H
2 #define __CURL_CURLBUILD_H
3 /***************************************************************************
5 * Project ___| | | | _ \| |
7 * | (__| |_| | _ <| |___
8 * \___|\___/|_| \_\_____|
10 * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
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.
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.
20 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
21 * KIND, either express or implied.
23 ***************************************************************************/
25 /* ================================================================ */
26 /* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
27 /* ================================================================ */
33 * Nothing in this file is intended to be modified or adjusted by the
34 * curl library user nor by the curl library builder.
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/
40 * This header file shall only export symbols which are 'curl' or 'CURL'
41 * prefixed, otherwise public name space would be polluted.
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:
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.
56 /* ================================================================ */
57 /* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
58 /* ================================================================ */
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
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
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
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
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
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
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
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
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
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
110 /* ================================================================ */
111 /* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
112 /* ================================================================ */
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 #undef CURL_PULL_WS2TCPIP_H
117 #ifdef CURL_PULL_WS2TCPIP_H
118 # ifndef WIN32_LEAN_AND_MEAN
119 # define WIN32_LEAN_AND_MEAN
121 # include <windows.h>
122 # include <winsock2.h>
123 # include <ws2tcpip.h>
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 #undef CURL_PULL_SYS_TYPES_H
129 #ifdef CURL_PULL_SYS_TYPES_H
130 # include <sys/types.h>
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 #undef CURL_PULL_STDINT_H
136 #ifdef CURL_PULL_STDINT_H
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 #undef CURL_PULL_INTTYPES_H
143 #ifdef CURL_PULL_INTTYPES_H
144 # include <inttypes.h>
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 #undef CURL_PULL_SYS_SOCKET_H
150 #ifdef CURL_PULL_SYS_SOCKET_H
151 # include <sys/socket.h>
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 #undef CURL_PULL_SYS_POLL_H
157 #ifdef CURL_PULL_SYS_POLL_H
158 # include <sys/poll.h>
161 /* The size of `long', as computed by sizeof. */
162 #undef CURL_SIZEOF_LONG
164 /* Integral data type used for curl_socklen_t. */
165 #undef CURL_TYPEOF_CURL_SOCKLEN_T
167 /* The size of `curl_socklen_t', as computed by sizeof. */
168 #undef CURL_SIZEOF_CURL_SOCKLEN_T
170 /* Data type definition of curl_socklen_t. */
171 typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;
173 /* Signed integral data type used for curl_off_t. */
174 #undef CURL_TYPEOF_CURL_OFF_T
176 /* Data type definition of curl_off_t. */
177 typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;
179 /* curl_off_t formatting string directive without "%" conversion specifier. */
180 #undef CURL_FORMAT_CURL_OFF_T
182 /* unsigned curl_off_t formatting string without "%" conversion specifier. */
183 #undef CURL_FORMAT_CURL_OFF_TU
185 /* curl_off_t formatting string directive with "%" conversion specifier. */
186 #undef CURL_FORMAT_OFF_T
188 /* The size of `curl_off_t', as computed by sizeof. */
189 #undef CURL_SIZEOF_CURL_OFF_T
191 /* curl_off_t constant suffix. */
192 #undef CURL_SUFFIX_CURL_OFF_T
194 /* unsigned curl_off_t constant suffix. */
195 #undef CURL_SUFFIX_CURL_OFF_TU
197 #endif /* __CURL_CURLBUILD_H */