Kristian Monsen | 5ab5018 | 2010-05-14 18:53:44 +0100 | [diff] [blame] | 1 | _ _ ____ _ |
| 2 | ___| | | | _ \| | |
| 3 | / __| | | | |_) | | |
| 4 | | (__| |_| | _ <| |___ |
| 5 | \___|\___/|_| \_\_____| |
| 6 | |
| 7 | Include files for libcurl, external users. |
| 8 | |
| 9 | They're all placed in the curl subdirectory here for better fit in any kind |
| 10 | of environment. You must include files from here using... |
| 11 | |
| 12 | #include <curl/curl.h> |
| 13 | |
| 14 | ... style and point the compiler's include path to the directory holding the |
| 15 | curl subdirectory. It makes it more likely to survive future modifications. |
| 16 | |
| 17 | NOTE FOR LIBCURL HACKERS |
| 18 | |
| 19 | The following notes apply to libcurl version 7.19.0 and later. |
| 20 | |
| 21 | * The distributed curl/curlbuild.h file is only intended to be used on systems |
| 22 | which can not run the also distributed configure script. |
| 23 | |
| 24 | * The distributed curlbuild.h file is generated as a copy of curlbuild.h.dist |
| 25 | when the libcurl source code distribution archive file is originally created. |
| 26 | |
| 27 | * If you check out from git on a non-configure platform, you must run the |
| 28 | appropriate buildconf* script to set up curlbuild.h and other local files |
| 29 | before being able of compiling the library. |
| 30 | |
| 31 | * On systems capable of running the configure script, the configure process |
| 32 | will overwrite the distributed include/curl/curlbuild.h file with one that |
| 33 | is suitable and specific to the library being configured and built, which |
| 34 | is generated from the include/curl/curlbuild.h.in template file. |
| 35 | |
| 36 | * If you intend to distribute an already compiled libcurl library you _MUST_ |
| 37 | also distribute along with it the generated curl/curlbuild.h which has been |
| 38 | used to compile it. Otherwise the library will be of no use for the users of |
Bertrand SIMONNET | e6cd738 | 2015-07-01 15:39:44 -0700 | [diff] [blame] | 39 | the library that you have built. It is _your_ responsibility to provide this |
Kristian Monsen | 5ab5018 | 2010-05-14 18:53:44 +0100 | [diff] [blame] | 40 | file. No one at the cURL project can know how you have built the library. |
| 41 | |
| 42 | * File curl/curlbuild.h includes platform and configuration dependent info, |
| 43 | and must not be modified by anyone. Configure script generates it for you. |
| 44 | |
| 45 | * We cannot assume anything else but very basic compiler features being |
| 46 | present. While libcurl requires an ANSI C compiler to build, some of the |
| 47 | earlier ANSI compilers clearly can't deal with some preprocessor operators. |
| 48 | |
| 49 | * Newlines must remain unix-style for older compilers' sake. |
| 50 | |
| 51 | * Comments must be written in the old-style /* unnested C-fashion */ |
| 52 | |
| 53 | To figure out how to do good and portable checks for features, operating |
| 54 | systems or specific hardwarare, a very good resource is Bjorn Reese's |
| 55 | collection at http://predef.sf.net/ |