summaryrefslogtreecommitdiff
path: root/README.cares
blob: 3f9b2fc0f5496d404bc8d43de679efa9b1a9d952 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
c-ares
======

This package is based on ares 1.1.1 (written by Greg Hudson). I decided to
fork and release a separate project since the ares author didn't want the
improvements that were vital for our use of it.

This package is dubbed 'c-ares' since I (Daniel Stenberg) wanted this for use
within the curl project (hence the letter C) and it makes a nice pun. Also,
c-ares is not API compatible with ares: a new name makes that more obvious to
the public.

The full source code is available in the 'c-ares' release archives, and in the
'ares' subdir of the curl CVS source repository.

If you find bugs, correct flaws, have questions or have comments in general in
regard to c-ares (or by all means the original ares too), get in touch with us
on the c-ares mailing list: http://cool.haxx.se/mailman/listinfo/c-ares

c-ares is of course distributed under the same MIT-style license as the
original ares.

You'll find all c-ares details and news here:

        http://c-ares.haxx.se/


NOTES FOR C-ARES HACKERS

The following notes apply to c-ares version 1.6.1 and later.

* The distributed ares_build.h file is only intended to be used on systems
  which can not run the also distributed configure script.

* The distributed ares_build.h file is generated as a copy of ares_build.h.dist
  when the c-ares source code distribution archive file is originally created.

* If you check out from CVS on a non-configure platform, you must run the
  appropriate buildconf* script to set up ares_build.h and other local files
  before being able of compiling the library.

* On systems capable of running the configure script, the configure process
  will overwrite the distributed ares_build.h file with one that is suitable
  and specific to the library being configured and built, this new file is
  generated from the ares_build.h.in template file.

* If you intend to distribute an already compiled c-ares library you _MUST_
  also distribute along with it the generated ares_build.h which has been
  used to compile it. Otherwise the library will be of no use for the users of
  the library that you have built. It is _your_ responsability to provide this
  file. No one at the c-ares project can know how you have built the library.

* File ares_build.h includes platform and configuration dependent info,
  and must not be modified by anyone. Configure script generates it for you.

* We cannot assume anything else but very basic compiler features being
  present. While c-ares requires an ANSI C compiler to build, some of the
  earlier ANSI compilers clearly can't deal with some preprocessor operators.

* Newlines must remain unix-style for older compilers' sake.

* Comments must be written in the old-style /* unnested C-fashion */