1 c-ares 2 ====== 3 4 This is c-ares, an asynchronous resolver library. It is intended for 5 applications which need to perform DNS queries without blocking, or need to 6 perform multiple DNS queries in parallel. The primary examples of such 7 applications are servers which communicate with multiple clients and programs 8 with graphical user interfaces. 9 10 The full source code is available in the 'c-ares' release archives, and in a 11 git repository: http://github.com/bagder/c-ares 12 13 If you find bugs, correct flaws, have questions or have comments in general in 14 regard to c-ares (or by all means the original ares too), get in touch with us 15 on the c-ares mailing list: http://cool.haxx.se/mailman/listinfo/c-ares 16 17 c-ares is of course distributed under the same MIT-style license as the 18 original ares. 19 20 You'll find all c-ares details and news here: 21 22 http://c-ares.haxx.se/ 23 24 25 NOTES FOR C-ARES HACKERS 26 27 The following notes apply to c-ares version 1.7.0 and later. 28 29 * The distributed ares_build.h file is only intended to be used on systems 30 which can not run the also distributed configure script. 31 32 * The distributed ares_build.h file is generated as a copy of ares_build.h.dist 33 when the c-ares source code distribution archive file is originally created. 34 35 * If you check out from git on a non-configure platform, you must run the 36 appropriate buildconf* script to set up ares_build.h and other local files 37 before being able of compiling the library. 38 39 * On systems capable of running the configure script, the configure process 40 will overwrite the distributed ares_build.h file with one that is suitable 41 and specific to the library being configured and built, this new file is 42 generated from the ares_build.h.in template file. 43 44 * If you intend to distribute an already compiled c-ares library you _MUST_ 45 also distribute along with it the generated ares_build.h which has been 46 used to compile it. Otherwise the library will be of no use for the users of 47 the library that you have built. It is _your_ responsibility to provide this 48 file. No one at the c-ares project can know how you have built the library. 49 50 * File ares_build.h includes platform and configuration dependent info, 51 and must not be modified by anyone. Configure script generates it for you. 52 53 * We cannot assume anything else but very basic compiler features being 54 present. While c-ares requires an ANSI C compiler to build, some of the 55 earlier ANSI compilers clearly can't deal with some preprocessor operators. 56 57 * Newlines must remain unix-style for older compilers' sake. 58 59 * Comments must be written in the old-style /* unnested C-fashion */ 60 61