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