]> git.draconx.ca Git - cdecl99.git/blob - README
Update dxcommon to latest version.
[cdecl99.git] / README
1 This package contains Cdecl99: a program and library for parsing and
2 constructing C declarations.
3
4 == Installation ==
5 === Prerequisites ===
6 Cdecl99 uses various features of C99, so a modern C compiler is required.
7 There are no mandatory library dependencies beyond those required by standard
8 C, but several optional features require external libraries.
9
10  * GNU Readline is required for interactive line editing and command history
11    in the 'cdecl99' tool.
12  * GNU libintl (included with the GNU C Library) is required for
13    internationalized program messages.  Regardless of whether i18n is enabled,
14    the explanations of declarations and types will always be in pseudo-English
15    as the program is required to be able to parse its own output.
16  * For a multithread-safe 'libcdecl', a suitable threading library is required
17    at build time.  At the time of writing (2011), POSIX, Solaris, Woe32 and GNU
18    Pth threads are supported.
19
20 === Building ===
21 See the file INSTALL for generic compilation and installation instructions.
22
23 ==== Building from Git ====
24 Sources checked out from Git do not contain any of the generated files which
25 would normally be included in the distribution tarballs.  As such, a number
26 of additional tools are required.  Any version numbers listed represent
27 minimum tested versions.  Using newer versions of the tools should work,
28 but older versions should not be expected to.
29
30  * GNU Autoconf version 2.68
31  * GNU Automake version 1.11.1
32  * GNU Libtool version 2.4
33  * GNU Gettext version 0.18.1
34  * GNU Bison version 2.4.3
35  * flex version 2.5.35
36  * perl version 5.12
37
38 Additionally, the following perl modules from CPAN are used:
39
40  * List::Compare version 0.37
41
42 To generate the build system from Git, run the 'bootstrap' script in the
43 top-level directory.  This will automatically check out the full Gnulib
44 sources, which can be quite large.  If you already have a Gnulib git checkout
45 on your system, you can save space by running
46
47   git submodule update --init --reference /path/to/gnulib/checkout
48
49 prior to running the 'bootstrap' script.  After the build system is generated,
50 configure and build Cdecl99 as normal.
51
52 == Contributing ==
53 If you think you've found a bug in any part of Cdecl99, please report it by
54 email to Nick Bowler <nbowler@draconx.ca>.  Patches should be sent to the same
55 address.
56
57 == Copyright and License ==
58
59 Copyright © 2011 Nick Bowler
60
61 Cdecl99 is free software: you can redistribute it and/or modify it under the
62 terms of the GNU General Public License as published by the Free Software
63 Foundation, either version 3 of the License, or (at your option) any later
64 version.
65
66 This program is distributed in the hope that it will be useful, but WITHOUT ANY
67 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
68 PARTICULAR PURPOSE.  See the GNU General Public License for more details.
69
70 You should have received a copy of the GNU General Public License along with
71 this program.  If not, see <http://www.gnu.org/licenses/>.
72
73 Additionally, some files in the distribution may be licensed under terms other
74 than the GNU General Public License.  All such files will contain a clear
75 notice of this fact; the alternate license permissions stated in a file apply
76 to the contents of that file and that file only.  In the absense of any
77 license notice, the GNU General Public License, version 3 or later, is to be
78 assumed (but please report this absense as you would any other bug).
79
80 For example, the following terms apply to this README document:
81 _________________________________________________________________________
82
83 Permission is granted to copy, distribute and/or modify this README under
84 the terms of the Do What The Fuck You Want To Public License, version 2.
85 _________________________________________________________________________