mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 04:13:03 +00:00
* doc/gpl-3.0.texi: New file. * doc/gpl.texi: Remove. * COPYING, GNUmakefile, HACKING, Makefile.am, Makefile.cfg: * Makefile.maint, NEWS, PACKAGING, README, README-alpha: * README-hacking, TODO, bootstrap, bootstrap.conf: * configure.ac, data/Makefile.am, data/README, data/bison.m4: * data/c++-skel.m4, data/c++.m4, data/c-skel.m4, data/c.m4: * data/glr.c, data/glr.cc, data/java-skel.m4, data/java.m4: * data/lalr1.cc, data/lalr1.java, data/location.cc: * data/push.c, data/yacc.c, data/m4sugar/m4sugar.m4: * djgpp/Makefile.maint, djgpp/README.in, djgpp/config.bat: * djgpp/config.sed, djgpp/config.site, djgpp/config_h.sed: * djgpp/djunpack.bat, djgpp/subpipe.c, djgpp/subpipe.h: * djgpp/testsuite.sed, doc/Makefile.am, doc/bison.texinfo: * doc/fdl.texi, doc/refcard.tex, etc/Makefile.am, etc/README: * etc/bench.pl.in, examples/Makefile.am, examples/extexi: * examples/calc++/Makefile.am, lib/Makefile.am, lib/abitset.c: * lib/abitset.h, lib/bbitset.h, lib/bitset.c, lib/bitset.h: * lib/bitset_stats.c, lib/bitset_stats.h, lib/bitsetv-print.c: * lib/bitsetv-print.h, lib/bitsetv.c, lib/bitsetv.h: * lib/ebitset.c, lib/ebitset.h, lib/get-errno.c: * lib/get-errno.h, lib/lbitset.c, lib/lbitset.h: * lib/libiberty.h, lib/main.c, lib/subpipe.c, lib/subpipe.h: * lib/timevar.c, lib/timevar.def, lib/timevar.h: * lib/vbitset.c, lib/vbitset.h, lib/yyerror.c: * m4/c-working.m4, m4/cxx.m4, m4/m4.m4, m4/subpipe.m4: * m4/timevar.m4, src/LR0.c, src/LR0.h, src/Makefile.am: * src/assoc.c, src/assoc.h, src/closure.c, src/closure.h: * src/complain.c, src/complain.h, src/conflicts.c: * src/conflicts.h, src/derives.c, src/derives.h, src/files.c: * src/files.h, src/flex-scanner.h, src/getargs.c: * src/getargs.h, src/gram.c, src/gram.h, src/graphviz.c: * src/lalr.c, src/lalr.h, src/location.c, src/location.h: * src/main.c, src/muscle_tab.c, src/muscle_tab.h: * src/nullable.c, src/nullable.h, src/output.c, src/output.h: * src/parse-gram.c, src/parse-gram.h, src/parse-gram.y: * src/print.c, src/print.h, src/print_graph.c: * src/print_graph.h, src/reader.c, src/reader.h, src/reduce.c: * src/reduce.h, src/relation.c, src/relation.h: * src/revision.h, src/scan-code.h, src/scan-code.l: * src/scan-gram.h, src/scan-gram.l, src/scan-skel.h: * src/scan-skel.l, src/state.c, src/state.h, src/symlist.c: * src/symlist.h, src/symtab.c, src/symtab.h, src/system.h: * src/tables.c, src/tables.h, src/uniqstr.c, src/uniqstr.h: * tests/Makefile.am, tests/actions.at, tests/c++.at: * tests/calc.at, tests/conflicts.at, tests/cxx-type.at: * tests/existing.at, tests/glr-regression.at: * tests/headers.at, tests/input.at, tests/java.at: * tests/local.at, tests/output.at, tests/push.at: * tests/reduce.at, tests/regression.at, tests/sets.at: * tests/skeletons.at, tests/synclines.at, tests/testsuite.at: * tests/torture.at: Update to GPLv3.
137 lines
4.3 KiB
Plaintext
137 lines
4.3 KiB
Plaintext
-*- 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.
|
|
|
|
Everything related to the development of Bison is on Savannah:
|
|
|
|
http://savannah.gnu.org/projects/bison/
|
|
|
|
|
|
* Administrivia
|
|
|
|
** If you incorporate a change from somebody on the net:
|
|
First, if it is a large change, you must make sure they have signed
|
|
the appropriate paperwork. Second, be sure to add their name and
|
|
email address to THANKS.
|
|
|
|
** If a change fixes a test, mention the test in the ChangeLog entry.
|
|
|
|
** Bug reports
|
|
If somebody reports a new bug, mention his name in the ChangeLog entry
|
|
and in the test case you write. Put him into THANKS.
|
|
|
|
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.
|
|
|
|
|
|
* Hacking
|
|
|
|
** Visible changes
|
|
Which include serious bug fixes, must be mentioned in NEWS.
|
|
|
|
** Translations
|
|
Only user visible strings are to be translated: error messages, bits
|
|
of the .output file etc. This excludes impossible error messages
|
|
(comparable to assert/abort), and all the --trace output which is
|
|
meant for the maintainers only.
|
|
|
|
|
|
* Test suite
|
|
|
|
** make check
|
|
Use liberally.
|
|
|
|
** Release checks
|
|
Try to run the test suite with more severe conditions before a
|
|
release:
|
|
|
|
- Configure the package with --enable-gcc-warnings, so that one checks
|
|
that 1. Bison compiles cleanly, 2. the parsers it produces compile
|
|
cleanly too.
|
|
|
|
- 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...
|
|
|
|
- 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,
|
|
but currently is actually GNU C, nor for lalr1.cc, which anyway is
|
|
not exercised yet in the test suite.
|
|
|
|
|
|
* 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 `./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
|
|
betas).
|
|
|
|
** Update ChangeLog
|
|
Should have an entry similar to `Version 1.49b.'.
|
|
Check all this in once `make distcheck' passes.
|
|
|
|
** make alpha
|
|
Running `make alpha' is absolutely perfect for beta releases: it makes
|
|
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.).
|
|
|
|
If it fails, you're on your own...
|
|
|
|
It requires GNU Make.
|
|
|
|
** Upload
|
|
Put the tarballs/xdeltas where they should be. Or put it somewhere,
|
|
and send the URL to ftp-upload@gnu.org.
|
|
|
|
** Bump the version number
|
|
In configure.ac. Run `make', check this in.
|
|
|
|
** Announce
|
|
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.
|
|
|
|
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, 2003, 2004, 2005 Free Software Foundation, Inc.
|
|
|
|
This file is part of GNU Bison.
|
|
|
|
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 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
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 this program. If not, see <http://www.gnu.org/licenses/>.
|