]> git.saurik.com Git - bison.git/blob - README-hacking
Dub make_TOKEN as a public type interface.
[bison.git] / README-hacking
1 -*- outline -*-
2
3 These notes intend to help people working on the checked-out sources.
4 These requirements do not apply when building from a distribution tarball.
5
6 * Requirements
7
8 We've opted to keep only the highest-level sources in the repository.
9 This eases our maintenance burden, (fewer merges etc.), but imposes more
10 requirements on anyone wishing to build from the just-checked-out sources.
11 For example, you have to use the latest stable versions of the maintainer
12 tools we depend upon, including:
13
14 - Automake <http://www.gnu.org/software/automake/>
15 - Autoconf <http://www.gnu.org/software/autoconf/>
16 - Flex <http://www.gnu.org/software/flex/>
17 - Gettext <http://www.gnu.org/software/gettext/>
18 - Gzip <http://www.gnu.org/software/gzip/>
19 - Perl <http://www.cpan.org/>
20 - Rsync <http://samba.anu.edu.au/rsync/>
21 - Tar <http://www.gnu.org/software/tar/>
22
23 Valgrind <http://valgrind.org/> is also highly recommended, if
24 Valgrind supports your architecture.
25
26 Bison is written using Bison grammars, so there are bootstrapping
27 issues. The bootstrap script attempts to discover when the C code
28 generated from the grammars is out of date, and to bootstrap with an
29 out-of-date version of the C code, but the process is not foolproof.
30 Also, you may run into similar problems yourself if you modify Bison.
31
32 Only building the initial full source tree will be a bit painful.
33 Later, after synchronizing from the repository a plain `make' should
34 be sufficient.
35
36 * First checkout
37
38 Obviously, if you are reading these notes, you did manage to check out
39 this package from the repository. For the record, you will find all the
40 relevant information on:
41
42 http://savannah.gnu.org/cvs/?group_id=56
43
44 The next step is to get other files needed to build, which are
45 extracted from other source packages:
46
47 $ ./bootstrap
48
49 And there you are! Just
50
51 $ ./configure
52 $ make
53 $ make check
54
55 At this point, there should be no difference between your local copy,
56 and the master copy:
57
58 $ cvs diff
59
60 should output no difference.
61
62 Enjoy!
63
64 -----
65
66 Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software
67 Foundation, Inc.
68
69 This program is free software: you can redistribute it and/or modify
70 it under the terms of the GNU General Public License as published by
71 the Free Software Foundation, either version 3 of the License, or
72 (at your option) any later version.
73
74 This program is distributed in the hope that it will be useful,
75 but WITHOUT ANY WARRANTY; without even the implied warranty of
76 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
77 GNU General Public License for more details.
78
79 You should have received a copy of the GNU General Public License
80 along with this program. If not, see <http://www.gnu.org/licenses/>.