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