X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/bf46a7c193d2d7033cb57c15d24658652ceba292..0df72d78ffbbada9870afdcc6b8f035e7395e902:/HACKING diff --git a/HACKING b/HACKING index 621b21c7..c2a790e0 100644 --- a/HACKING +++ b/HACKING @@ -1,8 +1,7 @@ -*- 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: @@ -26,6 +25,10 @@ The correct response to most actual bugs is to write a new test case 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 @@ -57,6 +60,18 @@ release: - 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 `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 that it does not make sense for glr.c, which should be ANSI, @@ -66,6 +81,9 @@ release: * 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. @@ -89,6 +107,8 @@ the tarballs, the xdeltas, and prepares (in /tmp/) a proto 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... @@ -105,7 +125,7 @@ In configure.ac. Run `make', check this in. Complete/fix the announcement file, and send it at least to 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 translation@iro.umontreal.ca. +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 @@ -115,21 +135,19 @@ separate message. ----- -Copyright (C) 2002, 2003, 2004 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 .