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