-*- outline -*-
This file attempts to describe the rules to use when hacking Bison.
-Don't put this file into the distribution. Don't mention it in the
-ChangeLog.
+Don't put this file into the distribution.
Everything related to the development of Bison is on Savannah:
which demonstrates the bug. Then fix the bug, re-run the test suite,
and check everything in.
+** You may find it useful to install the git-merge-changelog merge driver.
+See http://www.mail-archive.com/bug-gnulib@gnu.org/msg09699.html for
+information on how to install it.
+
* Hacking
that 1. Bison compiles cleanly, 2. the parsers it produces compile
cleanly too.
-- Change tests/bison to run `valgrind -q bison' to run Bison under
- Valgrind.
+- run `make maintainer-check' which:
+ - runs `valgrind -q bison' to run Bison under Valgrind.
+ - runs the parsers under Valgrind.
+ - runs the test suite with G++ as C compiler...
+
+- run `make maintainer-push-check', which runs `make maintainer-check'
+ while activating the push implementation and its pull interface wrappers
+ in many test cases that were originally written to exercise only the
+ pull implementation. This makes certain the push implementation can
+ perform every task the pull implementation can.
-- Run the test suite with `./testsuite PREPARSER='valgrind -q' to make
- sure the parser behave properly.
+- run `make maintainer-xml-check', which runs `make maintainer-check'
+ while checking Bison's XML automaton report for every working grammar
+ passed to Bison in the test suite. The check just diffs the output of
+ Bison's included XSLT style sheets with the output of --report=all and
+ --graph.
- Change tests/atlocal/CFLAGS to add your preferred options. For
instance, `-traditional' to check that the parsers are K&R. Note
but currently is actually GNU C, nor for lalr1.cc, which anyway is
not exercised yet in the test suite.
-- Change tests/atlocal/CC to use a C++ compiler.
-
* Release Procedure
+** Try to get the *.pot files to the Translation Project at least one week
+before a stable release, to give them time to translate them.
+
** Tests
See above.
** Update the foreign files
-Running `make update' in the top level should make it all for you.
-This covers PO files too. Beware that it happens that some PO files
-contain serious problems and are rejected by recent Gettext releases:
-fix them all, and complain to the Translation Project!
-
-Note that there might be *new* PO files. Don't forget to update the
-whole machinery, which not only includes LINGUAS, but `cvs add'ing the
-PO files too.
+Running `./bootstrap' in the top level should update them all for you.
+This covers PO files too. Sometimes a PO file contains problems that
+causes it to be rejected by recent Gettext releases; please report
+these to the Translation Project.
** Update NEWS
The version number, *and* the date of the release (including for
announcement. It is so neat, that that's what I use anyway for
genuine releases, but adjusting things by hand (e.g., the urls in the
announcement file, the ChangeLog which is not needed etc.).
+FIXME: `make alpha' is not maintained and is broken. These
+instructions need to be replaced or removed.
If it fails, you're on your own...
** Announce
Complete/fix the announcement file, and send it at least to
-info@gnu.org (if a real release, or a ``serious beta''),
-bison@gnu.org, and translation@iro.umontreal.ca.
+info-gnu@gnu.org (if a real release, or a ``serious beta''),
+bug-bison@gnu.org, help-bison@gnu.org, bison-patches@gnu.org,
+and coordinator@translationproject.org.
+
+Send the same announcement on the comp.compilers newsgroup by sending
+email to compilers@iecc.com. Do not make any Cc as the moderator will
+throw away anything cross-posted or Cc'ed. It really needs to be a
+separate message.
-----
-Copyright (C) 2002 Free Software Foundation, Inc.
+Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
This file is part of GNU Bison.
-GNU Bison is free software; you can redistribute it and/or modify
+This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
-GNU Bison is distributed in the hope that it will be useful,
+This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
-along with GNU Bison; see the file COPYING. If not, write to the Free
-Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
+along with this program. If not, see <http://www.gnu.org/licenses/>.