README
1 This package contains the GNU Bison parser generator.
2
3 * Installation
4 ** Build
5 See the file INSTALL for generic compilation and installation
6 instructions.
7
8 Bison requires GNU m4 1.4.6 or later. See:
9
10 ftp://ftp.gnu.org/gnu/m4/m4-1.4.6.tar.gz
11
12 ** Internationalization
13 Bison supports two catalogues: one for Bison itself (i.e., for the
14 maintainer-side parser generation), and one for the generated parsers
15 (i.e., for the user-side parser execution). The requirements between
16 both differ: bison needs ngettext, the generated parsers do not. To
17 simplify the build system, neither are installed if ngettext is not
18 supported, even if generated parsers could have been localized. See
19 http://lists.gnu.org/archive/html/bug-bison/2009-08/msg00006.html for
20 more details.
21
22 * Questions
23 See the section FAQ in the documentation (doc/bison.info) for
24 frequently asked questions. The documentation is also available in
25 PDF and HTML, provided you have a recent version of Texinfo installed:
26 run "make pdf" or "make html".
27
28 If you have questions about using Bison and the documentation does
29 not answer them, please send mail to <help-bison (a] gnu.org>.
30
31 * Bug reports
32 Please send bug reports to <bug-bison (a] gnu.org>. Please include the
33 version number from `bison --version', and a complete, self-contained
34 test case in each bug report.
35
36 * Copyright statements
37 For any copyright year range specified as YYYY-ZZZZ in this package,
38 note that the range specifies every single year in that closed interval.
39
40
41 Local Variables:
42 mode: outline
43 End:
44
45 -----
46
47 Copyright (C) 1992, 1998-1999, 2003-2005, 2008-2012 Free Software
48 Foundation, Inc.
49
50 This file is part of Bison, the GNU Compiler Compiler.
51
52 This program is free software: you can redistribute it and/or modify
53 it under the terms of the GNU General Public License as published by
54 the Free Software Foundation, either version 3 of the License, or
55 (at your option) any later version.
56
57 This program is distributed in the hope that it will be useful,
58 but WITHOUT ANY WARRANTY; without even the implied warranty of
59 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
60 GNU General Public License for more details.
61
62 You should have received a copy of the GNU General Public License
63 along with this program. If not, see <http://www.gnu.org/licenses/>.
64
README-release
1 Here are most of the steps we (maintainers) follow when making a release.
2
3 * Start from a clean, up-to-date git directory on "master":
4
5 make -k maintainer-clean || { ./configure && make maintainer-clean; }
6 git checkout master
7 git pull origin master
8
9 * Ensure that the latest stable versions of autoconf, automake, etc.
10 are in your PATH. See the buildreq list in bootstrap.conf for
11 the complete list of tools.
12
13 * Ensure that you have no uncommitted diffs. This should produce no
14 output:
15
16 git diff
17
18 * Ensure that you've pushed all changes that belong in the release:
19
20 git push origin master
21
22 * Check that the NixOS/Hydra autobuilder is reporting all is well:
23
24 http://hydra.nixos.org/jobset/gnu/bison-master
25
26 * Run the following command to download any new translations:
27
28 ./bootstrap && ./configure
29
30 * Pre-release testing: ensure that the following command succeeds:
31
32 make check syntax-check distcheck
33
34 * To (i) set the date, version number, and release TYPE on line 3 of
35 NEWS, (ii) commit that, and (iii) tag the release, run
36
37 # "TYPE" must be stable, beta or alpha
38 make release-commit RELEASE='X.Y TYPE'
39
40 * Run the following to create release tarballs. Your choice selects the
41 corresponding upload-to destination in the emitted gnupload command.
42 The different destinations are specified in cfg.mk. See the definitions
43 of gnu_ftp_host-{alpha,beta,stable}.
44
45 make release RELEASE='X.Y TYPE'
46
47 * Test the tarball. Copy it to a few odd-ball systems and ensure that
48 it builds and passes all tests.
49
50 * While that's happening, write the release announcement that you will
51 soon post. Start with the template, $HOME/announce-bison-X.Y
52 that was just created by that "make" command.
53
54 Once all the builds and tests have passed,
55
56 * Run the gnupload command that was suggested by your "make release"
57 run above, or run
58
59 make upload RELEASE='X.Y TYPE'
60
61 * Wait a few minutes (maybe up to 30?) and then use the release URLs to
62 download all tarball/signature pairs and use gpg --verify to ensure
63 that they're all valid.
64
65 * Push the NEWS-updating changes and the new tag:
66
67 v=$(cat .prev-version)
68 git push origin master tag v$v
69
70 * Announce it on Savannah first, so you can include the savannah.org
71 announcement link in the email message.
72
73 Go to the news-submission form:
74
75 https://savannah.gnu.org/news/submit.php?group=bison
76
77 If it does not work, then enable "News" for the project via this link:
78
79 https://savannah.gnu.org/project/admin/editgroupfeatures.php?group=bison
80
81 Write something like the following:
82
83 Subject: bison-X.Y released [stable]
84 +verbatim+
85 ...paste the announcement here...
86 -verbatim-
87
88 Then go here to approve it:
89
90 https://savannah.gnu.org/news/approve.php?group=bison
91
92 * Send the announcement email message.
93
94 * After each non-alpha release, run
95
96 make web-manual-update
97
98 to update the on-line manual accessible at
99
100 http://www.gnu.org/software/bison/manual/
101
README.android
1
2 The source code of bison 2.7 was downloaded from http://ftp.gnu.org/gnu/bison/.
3
4 To build it with the Android build system, we added 2 subdirectories darwin-lib
5 and linux-lib, as well as an Android.mk.
6 We used the following steps to generate the Android.mk:
7 1) On a Mac OS X machine, run ./configure and make, you'll get a list of
8 generated header files from the log. Copy them to darwin-lib; You can also get
9 a list of source files from the log. Add them to LOCAL_SRC_FILES in the
10 Android.mk.
11 2) Do the same thing on a Linux machine.
12 3) Comment out the PKGINCLUDEDIR line in darwin-lib/configmake.h and
13 linux-lib/configmake.h, because we'll pass in the macro from the build system.
14 4) Define libbison and bison in the Android.mk.
15