Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

583 lines
22 KiB

  1. #ifndef __CURL_CURLBUILD_H
  2. #define __CURL_CURLBUILD_H
  3. /***************************************************************************
  4. * _ _ ____ _
  5. * Project ___| | | | _ \| |
  6. * / __| | | | |_) | |
  7. * | (__| |_| | _ <| |___
  8. * \___|\___/|_| \_\_____|
  9. *
  10. * Copyright (C) 1998 - 2010, 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 http://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. /* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
  26. /* ================================================================ */
  27. /*
  28. * NOTE 1:
  29. * -------
  30. *
  31. * See file include/curl/curlbuild.h.in, run configure, and forget
  32. * that this file exists it is only used for non-configure systems.
  33. * But you can keep reading if you want ;-)
  34. *
  35. */
  36. /* ================================================================ */
  37. /* NOTES FOR NON-CONFIGURE SYSTEMS */
  38. /* ================================================================ */
  39. /*
  40. * NOTE 1:
  41. * -------
  42. *
  43. * Nothing in this file is intended to be modified or adjusted by the
  44. * curl library user nor by the curl library builder.
  45. *
  46. * If you think that something actually needs to be changed, adjusted
  47. * or fixed in this file, then, report it on the libcurl development
  48. * mailing list: http://cool.haxx.se/mailman/listinfo/curl-library/
  49. *
  50. * Try to keep one section per platform, compiler and architecture,
  51. * otherwise, if an existing section is reused for a different one and
  52. * later on the original is adjusted, probably the piggybacking one can
  53. * be adversely changed.
  54. *
  55. * In order to differentiate between platforms/compilers/architectures
  56. * use only compiler built in predefined preprocessor symbols.
  57. *
  58. * This header file shall only export symbols which are 'curl' or 'CURL'
  59. * prefixed, otherwise public name space would be polluted.
  60. *
  61. * NOTE 2:
  62. * -------
  63. *
  64. * For any given platform/compiler curl_off_t must be typedef'ed to a
  65. * 64-bit wide signed integral data type. The width of this data type
  66. * must remain constant and independent of any possible large file
  67. * support settings.
  68. *
  69. * As an exception to the above, curl_off_t shall be typedef'ed to a
  70. * 32-bit wide signed integral data type if there is no 64-bit type.
  71. *
  72. * As a general rule, curl_off_t shall not be mapped to off_t. This
  73. * rule shall only be violated if off_t is the only 64-bit data type
  74. * available and the size of off_t is independent of large file support
  75. * settings. Keep your build on the safe side avoiding an off_t gating.
  76. * If you have a 64-bit off_t then take for sure that another 64-bit
  77. * data type exists, dig deeper and you will find it.
  78. *
  79. * NOTE 3:
  80. * -------
  81. *
  82. * Right now you might be staring at file include/curl/curlbuild.h.dist or
  83. * at file include/curl/curlbuild.h, this is due to the following reason:
  84. * file include/curl/curlbuild.h.dist is renamed to include/curl/curlbuild.h
  85. * when the libcurl source code distribution archive file is created.
  86. *
  87. * File include/curl/curlbuild.h.dist is not included in the distribution
  88. * archive. File include/curl/curlbuild.h is not present in the git tree.
  89. *
  90. * The distributed include/curl/curlbuild.h file is only intended to be used
  91. * on systems which can not run the also distributed configure script.
  92. *
  93. * On systems capable of running the configure script, the configure process
  94. * will overwrite the distributed include/curl/curlbuild.h file with one that
  95. * is suitable and specific to the library being configured and built, which
  96. * is generated from the include/curl/curlbuild.h.in template file.
  97. *
  98. * If you check out from git on a non-configure platform, you must run the
  99. * appropriate buildconf* script to set up curlbuild.h and other local files.
  100. *
  101. */
  102. /* ================================================================ */
  103. /* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
  104. /* ================================================================ */
  105. #ifdef CURL_SIZEOF_LONG
  106. # error "CURL_SIZEOF_LONG shall not be defined except in curlbuild.h"
  107. Error Compilation_aborted_CURL_SIZEOF_LONG_already_defined
  108. #endif
  109. #ifdef CURL_TYPEOF_CURL_SOCKLEN_T
  110. # error "CURL_TYPEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
  111. Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_already_defined
  112. #endif
  113. #ifdef CURL_SIZEOF_CURL_SOCKLEN_T
  114. # error "CURL_SIZEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
  115. Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_already_defined
  116. #endif
  117. #ifdef CURL_TYPEOF_CURL_OFF_T
  118. # error "CURL_TYPEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
  119. Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_already_defined
  120. #endif
  121. #ifdef CURL_FORMAT_CURL_OFF_T
  122. # error "CURL_FORMAT_CURL_OFF_T shall not be defined except in curlbuild.h"
  123. Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_already_defined
  124. #endif
  125. #ifdef CURL_FORMAT_CURL_OFF_TU
  126. # error "CURL_FORMAT_CURL_OFF_TU shall not be defined except in curlbuild.h"
  127. Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_already_defined
  128. #endif
  129. #ifdef CURL_FORMAT_OFF_T
  130. # error "CURL_FORMAT_OFF_T shall not be defined except in curlbuild.h"
  131. Error Compilation_aborted_CURL_FORMAT_OFF_T_already_defined
  132. #endif
  133. #ifdef CURL_SIZEOF_CURL_OFF_T
  134. # error "CURL_SIZEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
  135. Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_already_defined
  136. #endif
  137. #ifdef CURL_SUFFIX_CURL_OFF_T
  138. # error "CURL_SUFFIX_CURL_OFF_T shall not be defined except in curlbuild.h"
  139. Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_already_defined
  140. #endif
  141. #ifdef CURL_SUFFIX_CURL_OFF_TU
  142. # error "CURL_SUFFIX_CURL_OFF_TU shall not be defined except in curlbuild.h"
  143. Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_already_defined
  144. #endif
  145. /* ================================================================ */
  146. /* EXTERNAL INTERFACE SETTINGS FOR NON-CONFIGURE SYSTEMS ONLY */
  147. /* ================================================================ */
  148. #if defined(__DJGPP__) || defined(__GO32__)
  149. # if defined(__DJGPP__) && (__DJGPP__ > 1)
  150. # define CURL_SIZEOF_LONG 4
  151. # define CURL_TYPEOF_CURL_OFF_T long long
  152. # define CURL_FORMAT_CURL_OFF_T "lld"
  153. # define CURL_FORMAT_CURL_OFF_TU "llu"
  154. # define CURL_FORMAT_OFF_T "%lld"
  155. # define CURL_SIZEOF_CURL_OFF_T 8
  156. # define CURL_SUFFIX_CURL_OFF_T LL
  157. # define CURL_SUFFIX_CURL_OFF_TU ULL
  158. # else
  159. # define CURL_SIZEOF_LONG 4
  160. # define CURL_TYPEOF_CURL_OFF_T long
  161. # define CURL_FORMAT_CURL_OFF_T "ld"
  162. # define CURL_FORMAT_CURL_OFF_TU "lu"
  163. # define CURL_FORMAT_OFF_T "%ld"
  164. # define CURL_SIZEOF_CURL_OFF_T 4
  165. # define CURL_SUFFIX_CURL_OFF_T L
  166. # define CURL_SUFFIX_CURL_OFF_TU UL
  167. # endif
  168. # define CURL_TYPEOF_CURL_SOCKLEN_T int
  169. # define CURL_SIZEOF_CURL_SOCKLEN_T 4
  170. #elif defined(__SALFORDC__)
  171. # define CURL_SIZEOF_LONG 4
  172. # define CURL_TYPEOF_CURL_OFF_T long
  173. # define CURL_FORMAT_CURL_OFF_T "ld"
  174. # define CURL_FORMAT_CURL_OFF_TU "lu"
  175. # define CURL_FORMAT_OFF_T "%ld"
  176. # define CURL_SIZEOF_CURL_OFF_T 4
  177. # define CURL_SUFFIX_CURL_OFF_T L
  178. # define CURL_SUFFIX_CURL_OFF_TU UL
  179. # define CURL_TYPEOF_CURL_SOCKLEN_T int
  180. # define CURL_SIZEOF_CURL_SOCKLEN_T 4
  181. #elif defined(__BORLANDC__)
  182. # if (__BORLANDC__ < 0x520)
  183. # define CURL_SIZEOF_LONG 4
  184. # define CURL_TYPEOF_CURL_OFF_T long
  185. # define CURL_FORMAT_CURL_OFF_T "ld"
  186. # define CURL_FORMAT_CURL_OFF_TU "lu"
  187. # define CURL_FORMAT_OFF_T "%ld"
  188. # define CURL_SIZEOF_CURL_OFF_T 4
  189. # define CURL_SUFFIX_CURL_OFF_T L
  190. # define CURL_SUFFIX_CURL_OFF_TU UL
  191. # else
  192. # define CURL_SIZEOF_LONG 4
  193. # define CURL_TYPEOF_CURL_OFF_T __int64
  194. # define CURL_FORMAT_CURL_OFF_T "I64d"
  195. # define CURL_FORMAT_CURL_OFF_TU "I64u"
  196. # define CURL_FORMAT_OFF_T "%I64d"
  197. # define CURL_SIZEOF_CURL_OFF_T 8
  198. # define CURL_SUFFIX_CURL_OFF_T i64
  199. # define CURL_SUFFIX_CURL_OFF_TU ui64
  200. # endif
  201. # define CURL_TYPEOF_CURL_SOCKLEN_T int
  202. # define CURL_SIZEOF_CURL_SOCKLEN_T 4
  203. #elif defined(__TURBOC__)
  204. # define CURL_SIZEOF_LONG 4
  205. # define CURL_TYPEOF_CURL_OFF_T long
  206. # define CURL_FORMAT_CURL_OFF_T "ld"
  207. # define CURL_FORMAT_CURL_OFF_TU "lu"
  208. # define CURL_FORMAT_OFF_T "%ld"
  209. # define CURL_SIZEOF_CURL_OFF_T 4
  210. # define CURL_SUFFIX_CURL_OFF_T L
  211. # define CURL_SUFFIX_CURL_OFF_TU UL
  212. # define CURL_TYPEOF_CURL_SOCKLEN_T int
  213. # define CURL_SIZEOF_CURL_SOCKLEN_T 4
  214. #elif defined(__WATCOMC__)
  215. # if defined(__386__)
  216. # define CURL_SIZEOF_LONG 4
  217. # define CURL_TYPEOF_CURL_OFF_T __int64
  218. # define CURL_FORMAT_CURL_OFF_T "I64d"
  219. # define CURL_FORMAT_CURL_OFF_TU "I64u"
  220. # define CURL_FORMAT_OFF_T "%I64d"
  221. # define CURL_SIZEOF_CURL_OFF_T 8
  222. # define CURL_SUFFIX_CURL_OFF_T i64
  223. # define CURL_SUFFIX_CURL_OFF_TU ui64
  224. # else
  225. # define CURL_SIZEOF_LONG 4
  226. # define CURL_TYPEOF_CURL_OFF_T long
  227. # define CURL_FORMAT_CURL_OFF_T "ld"
  228. # define CURL_FORMAT_CURL_OFF_TU "lu"
  229. # define CURL_FORMAT_OFF_T "%ld"
  230. # define CURL_SIZEOF_CURL_OFF_T 4
  231. # define CURL_SUFFIX_CURL_OFF_T L
  232. # define CURL_SUFFIX_CURL_OFF_TU UL
  233. # endif
  234. # define CURL_TYPEOF_CURL_SOCKLEN_T int
  235. # define CURL_SIZEOF_CURL_SOCKLEN_T 4
  236. #elif defined(__POCC__)
  237. # if (__POCC__ < 280)
  238. # define CURL_SIZEOF_LONG 4
  239. # define CURL_TYPEOF_CURL_OFF_T long
  240. # define CURL_FORMAT_CURL_OFF_T "ld"
  241. # define CURL_FORMAT_CURL_OFF_TU "lu"
  242. # define CURL_FORMAT_OFF_T "%ld"
  243. # define CURL_SIZEOF_CURL_OFF_T 4
  244. # define CURL_SUFFIX_CURL_OFF_T L
  245. # define CURL_SUFFIX_CURL_OFF_TU UL
  246. # elif defined(_MSC_VER)
  247. # define CURL_SIZEOF_LONG 4
  248. # define CURL_TYPEOF_CURL_OFF_T __int64
  249. # define CURL_FORMAT_CURL_OFF_T "I64d"
  250. # define CURL_FORMAT_CURL_OFF_TU "I64u"
  251. # define CURL_FORMAT_OFF_T "%I64d"
  252. # define CURL_SIZEOF_CURL_OFF_T 8
  253. # define CURL_SUFFIX_CURL_OFF_T i64
  254. # define CURL_SUFFIX_CURL_OFF_TU ui64
  255. # else
  256. # define CURL_SIZEOF_LONG 4
  257. # define CURL_TYPEOF_CURL_OFF_T long long
  258. # define CURL_FORMAT_CURL_OFF_T "lld"
  259. # define CURL_FORMAT_CURL_OFF_TU "llu"
  260. # define CURL_FORMAT_OFF_T "%lld"
  261. # define CURL_SIZEOF_CURL_OFF_T 8
  262. # define CURL_SUFFIX_CURL_OFF_T LL
  263. # define CURL_SUFFIX_CURL_OFF_TU ULL
  264. # endif
  265. # define CURL_TYPEOF_CURL_SOCKLEN_T int
  266. # define CURL_SIZEOF_CURL_SOCKLEN_T 4
  267. #elif defined(__LCC__)
  268. # define CURL_SIZEOF_LONG 4
  269. # define CURL_TYPEOF_CURL_OFF_T long
  270. # define CURL_FORMAT_CURL_OFF_T "ld"
  271. # define CURL_FORMAT_CURL_OFF_TU "lu"
  272. # define CURL_FORMAT_OFF_T "%ld"
  273. # define CURL_SIZEOF_CURL_OFF_T 4
  274. # define CURL_SUFFIX_CURL_OFF_T L
  275. # define CURL_SUFFIX_CURL_OFF_TU UL
  276. # define CURL_TYPEOF_CURL_SOCKLEN_T int
  277. # define CURL_SIZEOF_CURL_SOCKLEN_T 4
  278. #elif defined(__SYMBIAN32__)
  279. # if defined(__EABI__) /* Treat all ARM compilers equally */
  280. # define CURL_SIZEOF_LONG 4
  281. # define CURL_TYPEOF_CURL_OFF_T long long
  282. # define CURL_FORMAT_CURL_OFF_T "lld"
  283. # define CURL_FORMAT_CURL_OFF_TU "llu"
  284. # define CURL_FORMAT_OFF_T "%lld"
  285. # define CURL_SIZEOF_CURL_OFF_T 8
  286. # define CURL_SUFFIX_CURL_OFF_T LL
  287. # define CURL_SUFFIX_CURL_OFF_TU ULL
  288. # elif defined(__CW32__)
  289. # pragma longlong on
  290. # define CURL_SIZEOF_LONG 4
  291. # define CURL_TYPEOF_CURL_OFF_T long long
  292. # define CURL_FORMAT_CURL_OFF_T "lld"
  293. # define CURL_FORMAT_CURL_OFF_TU "llu"
  294. # define CURL_FORMAT_OFF_T "%lld"
  295. # define CURL_SIZEOF_CURL_OFF_T 8
  296. # define CURL_SUFFIX_CURL_OFF_T LL
  297. # define CURL_SUFFIX_CURL_OFF_TU ULL
  298. # elif defined(__VC32__)
  299. # define CURL_SIZEOF_LONG 4
  300. # define CURL_TYPEOF_CURL_OFF_T __int64
  301. # define CURL_FORMAT_CURL_OFF_T "lld"
  302. # define CURL_FORMAT_CURL_OFF_TU "llu"
  303. # define CURL_FORMAT_OFF_T "%lld"
  304. # define CURL_SIZEOF_CURL_OFF_T 8
  305. # define CURL_SUFFIX_CURL_OFF_T LL
  306. # define CURL_SUFFIX_CURL_OFF_TU ULL
  307. # endif
  308. # define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int
  309. # define CURL_SIZEOF_CURL_SOCKLEN_T 4
  310. #elif defined(__MWERKS__)
  311. # define CURL_SIZEOF_LONG 4
  312. # define CURL_TYPEOF_CURL_OFF_T long long
  313. # define CURL_FORMAT_CURL_OFF_T "lld"
  314. # define CURL_FORMAT_CURL_OFF_TU "llu"
  315. # define CURL_FORMAT_OFF_T "%lld"
  316. # define CURL_SIZEOF_CURL_OFF_T 8
  317. # define CURL_SUFFIX_CURL_OFF_T LL
  318. # define CURL_SUFFIX_CURL_OFF_TU ULL
  319. # define CURL_TYPEOF_CURL_SOCKLEN_T int
  320. # define CURL_SIZEOF_CURL_SOCKLEN_T 4
  321. #elif defined(_WIN32_WCE)
  322. # define CURL_SIZEOF_LONG 4
  323. # define CURL_TYPEOF_CURL_OFF_T __int64
  324. # define CURL_FORMAT_CURL_OFF_T "I64d"
  325. # define CURL_FORMAT_CURL_OFF_TU "I64u"
  326. # define CURL_FORMAT_OFF_T "%I64d"
  327. # define CURL_SIZEOF_CURL_OFF_T 8
  328. # define CURL_SUFFIX_CURL_OFF_T i64
  329. # define CURL_SUFFIX_CURL_OFF_TU ui64
  330. # define CURL_TYPEOF_CURL_SOCKLEN_T int
  331. # define CURL_SIZEOF_CURL_SOCKLEN_T 4
  332. #elif defined(__MINGW32__)
  333. # define CURL_SIZEOF_LONG 4
  334. # define CURL_TYPEOF_CURL_OFF_T long long
  335. # define CURL_FORMAT_CURL_OFF_T "I64d"
  336. # define CURL_FORMAT_CURL_OFF_TU "I64u"
  337. # define CURL_FORMAT_OFF_T "%I64d"
  338. # define CURL_SIZEOF_CURL_OFF_T 8
  339. # define CURL_SUFFIX_CURL_OFF_T LL
  340. # define CURL_SUFFIX_CURL_OFF_TU ULL
  341. # define CURL_TYPEOF_CURL_SOCKLEN_T int
  342. # define CURL_SIZEOF_CURL_SOCKLEN_T 4
  343. #elif defined(__VMS)
  344. # if defined(__VAX)
  345. # define CURL_SIZEOF_LONG 4
  346. # define CURL_TYPEOF_CURL_OFF_T long
  347. # define CURL_FORMAT_CURL_OFF_T "ld"
  348. # define CURL_FORMAT_CURL_OFF_TU "lu"
  349. # define CURL_FORMAT_OFF_T "%ld"
  350. # define CURL_SIZEOF_CURL_OFF_T 4
  351. # define CURL_SUFFIX_CURL_OFF_T L
  352. # define CURL_SUFFIX_CURL_OFF_TU UL
  353. # else
  354. # define CURL_SIZEOF_LONG 4
  355. # define CURL_TYPEOF_CURL_OFF_T long long
  356. # define CURL_FORMAT_CURL_OFF_T "lld"
  357. # define CURL_FORMAT_CURL_OFF_TU "llu"
  358. # define CURL_FORMAT_OFF_T "%lld"
  359. # define CURL_SIZEOF_CURL_OFF_T 8
  360. # define CURL_SUFFIX_CURL_OFF_T LL
  361. # define CURL_SUFFIX_CURL_OFF_TU ULL
  362. # endif
  363. # define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int
  364. # define CURL_SIZEOF_CURL_SOCKLEN_T 4
  365. #elif defined(__OS400__)
  366. # if defined(__ILEC400__)
  367. # define CURL_SIZEOF_LONG 4
  368. # define CURL_TYPEOF_CURL_OFF_T long long
  369. # define CURL_FORMAT_CURL_OFF_T "lld"
  370. # define CURL_FORMAT_CURL_OFF_TU "llu"
  371. # define CURL_FORMAT_OFF_T "%lld"
  372. # define CURL_SIZEOF_CURL_OFF_T 8
  373. # define CURL_SUFFIX_CURL_OFF_T LL
  374. # define CURL_SUFFIX_CURL_OFF_TU ULL
  375. # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
  376. # define CURL_SIZEOF_CURL_SOCKLEN_T 4
  377. # define CURL_PULL_SYS_TYPES_H 1
  378. # define CURL_PULL_SYS_SOCKET_H 1
  379. # endif
  380. #elif defined(__MVS__)
  381. # if defined(__IBMC__) || defined(__IBMCPP__)
  382. # if defined(_ILP32)
  383. # define CURL_SIZEOF_LONG 4
  384. # elif defined(_LP64)
  385. # define CURL_SIZEOF_LONG 8
  386. # endif
  387. # if defined(_LONG_LONG)
  388. # define CURL_TYPEOF_CURL_OFF_T long long
  389. # define CURL_FORMAT_CURL_OFF_T "lld"
  390. # define CURL_FORMAT_CURL_OFF_TU "llu"
  391. # define CURL_FORMAT_OFF_T "%lld"
  392. # define CURL_SIZEOF_CURL_OFF_T 8
  393. # define CURL_SUFFIX_CURL_OFF_T LL
  394. # define CURL_SUFFIX_CURL_OFF_TU ULL
  395. # elif defined(_LP64)
  396. # define CURL_TYPEOF_CURL_OFF_T long
  397. # define CURL_FORMAT_CURL_OFF_T "ld"
  398. # define CURL_FORMAT_CURL_OFF_TU "lu"
  399. # define CURL_FORMAT_OFF_T "%ld"
  400. # define CURL_SIZEOF_CURL_OFF_T 8
  401. # define CURL_SUFFIX_CURL_OFF_T L
  402. # define CURL_SUFFIX_CURL_OFF_TU UL
  403. # else
  404. # define CURL_TYPEOF_CURL_OFF_T long
  405. # define CURL_FORMAT_CURL_OFF_T "ld"
  406. # define CURL_FORMAT_CURL_OFF_TU "lu"
  407. # define CURL_FORMAT_OFF_T "%ld"
  408. # define CURL_SIZEOF_CURL_OFF_T 4
  409. # define CURL_SUFFIX_CURL_OFF_T L
  410. # define CURL_SUFFIX_CURL_OFF_TU UL
  411. # endif
  412. # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
  413. # define CURL_SIZEOF_CURL_SOCKLEN_T 4
  414. # define CURL_PULL_SYS_TYPES_H 1
  415. # define CURL_PULL_SYS_SOCKET_H 1
  416. # endif
  417. #elif defined(__370__)
  418. # if defined(__IBMC__) || defined(__IBMCPP__)
  419. # if defined(_ILP32)
  420. # define CURL_SIZEOF_LONG 4
  421. # elif defined(_LP64)
  422. # define CURL_SIZEOF_LONG 8
  423. # endif
  424. # if defined(_LONG_LONG)
  425. # define CURL_TYPEOF_CURL_OFF_T long long
  426. # define CURL_FORMAT_CURL_OFF_T "lld"
  427. # define CURL_FORMAT_CURL_OFF_TU "llu"
  428. # define CURL_FORMAT_OFF_T "%lld"
  429. # define CURL_SIZEOF_CURL_OFF_T 8
  430. # define CURL_SUFFIX_CURL_OFF_T LL
  431. # define CURL_SUFFIX_CURL_OFF_TU ULL
  432. # elif defined(_LP64)
  433. # define CURL_TYPEOF_CURL_OFF_T long
  434. # define CURL_FORMAT_CURL_OFF_T "ld"
  435. # define CURL_FORMAT_CURL_OFF_TU "lu"
  436. # define CURL_FORMAT_OFF_T "%ld"
  437. # define CURL_SIZEOF_CURL_OFF_T 8
  438. # define CURL_SUFFIX_CURL_OFF_T L
  439. # define CURL_SUFFIX_CURL_OFF_TU UL
  440. # else
  441. # define CURL_TYPEOF_CURL_OFF_T long
  442. # define CURL_FORMAT_CURL_OFF_T "ld"
  443. # define CURL_FORMAT_CURL_OFF_TU "lu"
  444. # define CURL_FORMAT_OFF_T "%ld"
  445. # define CURL_SIZEOF_CURL_OFF_T 4
  446. # define CURL_SUFFIX_CURL_OFF_T L
  447. # define CURL_SUFFIX_CURL_OFF_TU UL
  448. # endif
  449. # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
  450. # define CURL_SIZEOF_CURL_SOCKLEN_T 4
  451. # define CURL_PULL_SYS_TYPES_H 1
  452. # define CURL_PULL_SYS_SOCKET_H 1
  453. # endif
  454. #elif defined(TPF)
  455. # define CURL_SIZEOF_LONG 8
  456. # define CURL_TYPEOF_CURL_OFF_T long
  457. # define CURL_FORMAT_CURL_OFF_T "ld"
  458. # define CURL_FORMAT_CURL_OFF_TU "lu"
  459. # define CURL_FORMAT_OFF_T "%ld"
  460. # define CURL_SIZEOF_CURL_OFF_T 8
  461. # define CURL_SUFFIX_CURL_OFF_T L
  462. # define CURL_SUFFIX_CURL_OFF_TU UL
  463. # define CURL_TYPEOF_CURL_SOCKLEN_T int
  464. # define CURL_SIZEOF_CURL_SOCKLEN_T 4
  465. /* ===================================== */
  466. /* KEEP MSVC THE PENULTIMATE ENTRY */
  467. /* ===================================== */
  468. #elif defined(_MSC_VER)
  469. # if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
  470. # define CURL_SIZEOF_LONG 4
  471. # define CURL_TYPEOF_CURL_OFF_T __int64
  472. # define CURL_FORMAT_CURL_OFF_T "I64d"
  473. # define CURL_FORMAT_CURL_OFF_TU "I64u"
  474. # define CURL_FORMAT_OFF_T "%I64d"
  475. # define CURL_SIZEOF_CURL_OFF_T 8
  476. # define CURL_SUFFIX_CURL_OFF_T i64
  477. # define CURL_SUFFIX_CURL_OFF_TU ui64
  478. # else
  479. # define CURL_SIZEOF_LONG 4
  480. # define CURL_TYPEOF_CURL_OFF_T long
  481. # define CURL_FORMAT_CURL_OFF_T "ld"
  482. # define CURL_FORMAT_CURL_OFF_TU "lu"
  483. # define CURL_FORMAT_OFF_T "%ld"
  484. # define CURL_SIZEOF_CURL_OFF_T 4
  485. # define CURL_SUFFIX_CURL_OFF_T L
  486. # define CURL_SUFFIX_CURL_OFF_TU UL
  487. # endif
  488. # define CURL_TYPEOF_CURL_SOCKLEN_T int
  489. # define CURL_SIZEOF_CURL_SOCKLEN_T 4
  490. /* ===================================== */
  491. /* KEEP GENERIC GCC THE LAST ENTRY */
  492. /* ===================================== */
  493. #elif defined(__GNUC__)
  494. # if defined(__i386__) || defined(__ppc__)
  495. # define CURL_SIZEOF_LONG 4
  496. # define CURL_TYPEOF_CURL_OFF_T long long
  497. # define CURL_FORMAT_CURL_OFF_T "lld"
  498. # define CURL_FORMAT_CURL_OFF_TU "llu"
  499. # define CURL_FORMAT_OFF_T "%lld"
  500. # define CURL_SIZEOF_CURL_OFF_T 8
  501. # define CURL_SUFFIX_CURL_OFF_T LL
  502. # define CURL_SUFFIX_CURL_OFF_TU ULL
  503. # elif defined(__x86_64__) || defined(__ppc64__)
  504. # define CURL_SIZEOF_LONG 8
  505. # define CURL_TYPEOF_CURL_OFF_T long
  506. # define CURL_FORMAT_CURL_OFF_T "ld"
  507. # define CURL_FORMAT_CURL_OFF_TU "lu"
  508. # define CURL_FORMAT_OFF_T "%ld"
  509. # define CURL_SIZEOF_CURL_OFF_T 8
  510. # define CURL_SUFFIX_CURL_OFF_T L
  511. # define CURL_SUFFIX_CURL_OFF_TU UL
  512. # endif
  513. # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
  514. # define CURL_SIZEOF_CURL_SOCKLEN_T 4
  515. # define CURL_PULL_SYS_TYPES_H 1
  516. # define CURL_PULL_SYS_SOCKET_H 1
  517. #else
  518. # error "Unknown non-configure build target!"
  519. Error Compilation_aborted_Unknown_non_configure_build_target
  520. #endif
  521. /* CURL_PULL_SYS_TYPES_H is defined above when inclusion of header file */
  522. /* sys/types.h is required here to properly make type definitions below. */
  523. #ifdef CURL_PULL_SYS_TYPES_H
  524. # include <sys/types.h>
  525. #endif
  526. /* CURL_PULL_SYS_SOCKET_H is defined above when inclusion of header file */
  527. /* sys/socket.h is required here to properly make type definitions below. */
  528. #ifdef CURL_PULL_SYS_SOCKET_H
  529. # include <sys/socket.h>
  530. #endif
  531. /* Data type definition of curl_socklen_t. */
  532. #ifdef CURL_TYPEOF_CURL_SOCKLEN_T
  533. typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;
  534. #endif
  535. /* Data type definition of curl_off_t. */
  536. #ifdef CURL_TYPEOF_CURL_OFF_T
  537. typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;
  538. #endif
  539. #endif /* __CURL_CURLBUILD_H */