]> git.draconx.ca Git - cdecl99.git/blob - README
Initial README.
[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
37 To generate the build system from Git, run the 'bootstrap' script in the
38 top-level directory.  This will automatically check out the full Gnulib
39 sources, which can be quite large.  If you already have a Gnulib git checkout
40 on your system, you can save space by running
41
42   git submodule update --init --reference /path/to/gnulib/checkout
43
44 prior to running the 'bootstrap' script.  After the build system is generated,
45 configure and build Cdecl99 as normal.
46
47 == Contributing ==
48 If you think you've found a bug in any part of Cdecl99, please report it by
49 email to Nick Bowler <nbowler@draconx.ca>.  Patches should be sent to the same
50 address.
51
52 == Copyright and License ==
53
54 Copyright © 2011 Nick Bowler
55
56 Cdecl99 is free software: you can redistribute it and/or modify it under the
57 terms of the GNU General Public License as published by the Free Software
58 Foundation, either version 3 of the License, or (at your option) any later
59 version.
60
61 This program is distributed in the hope that it will be useful, but WITHOUT ANY
62 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
63 PARTICULAR PURPOSE.  See the GNU General Public License for more details.
64
65 You should have received a copy of the GNU General Public License along with
66 this program.  If not, see <http://www.gnu.org/licenses/>.
67
68 Additionally, some files in the distribution may be licensed under terms other
69 than the GNU General Public License.  All such files will contain a clear
70 notice of this fact; the alternate license permissions stated in a file apply
71 to the contents of that file and that file only.  In the absense of any
72 license notice, the GNU General Public License, version 3 or later, is to be
73 assumed (but please report this absense as you would any other bug).
74
75 For example, the following terms apply to this README document:
76 _________________________________________________________________________
77
78 Permission is granted to copy, distribute and/or modify this README under
79 the terms of the Do What The Fuck You Want To Public License, version 2.
80 _________________________________________________________________________