]> git.saurik.com Git - bison.git/blame - README-hacking
Extend the front-end API for %define variables to more completely
[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/>
19- Tar <http://www.gnu.org/software/tar/>
20- Wget <http://www.gnu.org/software/wget/>
21
bbb44d83
PE
22Only building the initial full source tree will be a bit painful.
23Later, after synchronizing from the repository a plain `make' should
24be sufficient.
5b4aaf78
PE
25
26Valgrind <http://valgrind.org/> is also highly recommended, if
27Valgrind supports your architecture.
28
29Bison is written using Bison grammars, so there are bootstrapping
30issues. The bootstrap script attempts to discover when the C code
31generated from the grammars is out of date, and to bootstrap with an
32out-of-date version of the C code, but the process is not foolproof.
33Also, you may run into similar problems yourself if you modify Bison.
d1a6f01e
AD
34
35Only building the initial full source tree will be a bit painful,
afac5ba0 36later, a plain `cvs update -P && make' should be sufficient.
d1a6f01e 37
bbb44d83 38* First checkout
d1a6f01e
AD
39
40Obviously, if you are reading these notes, you did manage to check out
bbb44d83
PE
41Bison from the repository. For the record, you will find all the
42relevant information on:
d1a6f01e
AD
43
44 http://savannah.gnu.org/cvs/?group_id=56
45
bbb44d83
PE
46The next step is to get other files needed to build, which are
47extracted from other source packages:
d1a6f01e 48
01c56de4 49 $ ./bootstrap
d1a6f01e
AD
50
51And there you are! Just
52
bbb44d83
PE
53 $ ./configure
54 $ make
55 $ make check
d1a6f01e
AD
56
57At this point, there should be no difference between your local copy,
bbb44d83 58and the master copy:
d1a6f01e
AD
59
60 $ cvs diff
61
5b4aaf78 62should output no difference.
d1a6f01e
AD
63
64Enjoy!
65
d1a6f01e
AD
66-----
67
bbb44d83
PE
68Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software
69Foundation, Inc.
d1a6f01e 70
976e6270 71This file is part of GNU Bison.
d1a6f01e 72
976e6270 73GNU Bison is free software; you can redistribute it and/or modify
d1a6f01e
AD
74it under the terms of the GNU General Public License as published by
75the Free Software Foundation; either version 2, or (at your option)
76any later version.
77
976e6270 78GNU Bison is distributed in the hope that it will be useful,
d1a6f01e
AD
79but WITHOUT ANY WARRANTY; without even the implied warranty of
80MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
81GNU General Public License for more details.
82
83You should have received a copy of the GNU General Public License
976e6270 84along with Bison; see the file COPYING. If not, write to
0fb669f9
PE
85the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
86Boston, MA 02110-1301, USA.