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