summaryrefslogtreecommitdiff
path: root/bootstrap.conf
Commit message (Collapse)AuthorAgeFilesLines
...
| * maint: update release procedureAkim Demaille2012-06-051-2/+9
| | | | | | | | | | * bootstrap.conf: Request do-release-commit-and-tag and readme-release. * README-hacking: Adjust.
* | Merge tag 'v2.5.1_rc2'Akim Demaille2012-05-241-2/+3
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bison 2.5.1_rc2. * tag 'v2.5.1_rc2': (34 commits) Bison 2.5.1_rc2. doc: fixes. build: fix ChangeLog generation. c++: compute the header guards. skeletons: remove support for unused directive. lalr1.cc: improve Doxygen documentation. lalr1.cc: extract stack.hh. news: convert to double quotes. space changes. build: do not prototype flex-generated functions. build: fix ChangeLog generation. Bison 2.5.1_rc1. tests: save/restore Autotest special files when checking XML support. tests: AT_SAVE_SPECIAL_FILES / AT_RESTORE_SPECIAL_FILES. tests: honor TESTSUITEFLAGS in all the check targets. build: do not enable c++ warnings on 0 when nullptr is not supported. maint: update gnulib. build: config.in.h. build: move silent rules. glr.c: reduce variable scopes. maint: maintainer-release-check. maint: shush a syntax-check. maint: prefer "commit message" to "log entry". command line: fix minor leaks. maint: we no longer maintain the ChangeLog. maint: fix the generation of the synclines for bison's parser. maint: regen. maint: import the xmemdup0 gnulib module. maint: remove left-over gnulib modules. maint: ignore files imported by autopoint. build: AC_PROG_LEX: use more readable variable names. maint: regen src/parse-gram.[ch] maint: simplify parse-gram.y maint: s/strncpy/memcpy/, when equivalent Conflicts: Makefile.am NEWS data/glr.c data/lalr1.cc data/stack.hh examples/rpcalc/local.mk src/flex-scanner.h src/getargs.c src/output.c src/parse-gram.c src/parse-gram.h src/parse-gram.y tests/Makefile.am tests/bison.in
| * maint: import the xmemdup0 gnulib module.Akim Demaille2012-05-061-1/+2
| | | | | | | | | | * bootstrap.conf: Require this module. * src/parse-gram.y: Include xmemdup0.h.
| * maint: remove left-over gnulib modules.Akim Demaille2012-05-061-1/+1
| | | | | | | | | | * bootstrap.conf (gnulib_modules): Remove pipe-posix. * lib/.gitignore, m4/.gitignore: Remove files that we no longer use.
* | Merge remote-tracking branch 'origin/maint'Akim Demaille2012-05-041-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/maint: (22 commits) tests: ignore code coverage/profiling failure messages doc: fix some invalid @ref. build: fix previous commit. install-pdf: fix. NEWS: Update. %printer: support both yyo and yyoutput. doc: mfcalc: demonstrate %printer. tests: style changes. build: require Flex. build: flex.m4: check for Flex. build: flex.m4: quote properly. build: flex.m4. build: autoconf: update. glr: eliminate last bits of unwanted locations. NEWS: 2.6 will drop K&R. TODO: remove dead items. TODO: import from master. gnulib: update. maint: update NEWS. doc: fix index. doc: fix documentation of YYERROR. c++: more YY_NULL Conflicts: TODO bootstrap data/c.m4 data/glr.c data/lalr1.cc doc/bison.texinfo
| * gnulib: update.Akim Demaille2012-04-071-1/+1
| | | | | | | | | | | | | | * bootstrap.conf (bootstrap_sync): True again. It was disabled while waiting for changes to be integrated in gnulib's bootstrap, which was done long ago. * bootstrap, gnulib: Update.
| * tests: fix regressions.Akim Demaille2012-02-231-1/+0
| | | | | | | | | | | | | | | | | | | | | | Exit status 63 is documented for version-mismatch. * bootstrap.conf (gnulib_modules): Remove sysexits. * src/system.h (EX_MISMATCH): Define. * src/parse-gram.y (version_check): Use it instead of EX_CONFIG. Missing includes. * tests/calc.at, tests/named-refs.at: Include assert.h. (cherry picked from commit 459a57a90ff6fc8209498b7d5bc6e33d5e633f23)
| * maint: address sc_bindtextdomain, sc_program_name and sc_prohibit_HAVE_MBRTOWC.Akim Demaille2012-02-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | * bootstrap.conf (gnulib_modules): Require progname. * src/complain.c, src/getargs.c, src/getargs.h, src/main.c: Use it. * cfg.mk (exclude): New. Use it. Skip lib/main.c for bindtextdomain and set_program_name. (cherry picked from commit 4d699f44e65d29b4d49cf68d7a3b4bf856eb5d1b) Conflicts: cfg.mk
| * maint: avoid "magic number exit".Akim Demaille2012-02-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * cfg.mk (local-checks-to-skip): No longer skip it. * bootstrap.conf (gnulib_modules): Add sysexits. * doc/bison.texinfo, etc/bench.pl.in, src/parse-gram.y, * src/system.h, tests/calc.at, tests/named-refs.at: Use assert where appropriate instead of "if (...) exit". Use symbolic exit status elsewhere. Conflicts: doc/bison.texinfo src/parse-gram.y
| * do not ignore errors like ENOSPC,EIO when writing to stdoutJim Meyering2012-01-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Standard output was never explicitly closed, so we could not detect failure. Thus, bison would ignore the errors of writing to a full file system and getting an I/O error on write, but only for standard output, e.g., for --print-localedir, --print-datadir, --help and some verbose output. Now, "bison --print-datadir > /dev/full" reports the write failure: bison: write error: No space left on device Before, it would exit 0 with no diagnostic, implying success. This is not an issue for "--output=-" or the other FILE-accepting command-line options, because unlike most other GNU programs, an output file argument of "-" is treated as the literal "./-", rather than standard output. * bootstrap.conf (gnulib_modules): Add closeout. * src/main.c: Include "closeout.h". Use atexit to ensure we close stdout. * .gitignore: Ignore new files pulled in via gnulib-tool. (cherry picked from commit acb5895680611f8beb497b41694d9686f2932c50) Conflicts: m4/.gitignore
| * maint: generate ChangeLog from git logJim Meyering2012-01-241-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.am (gen-ChangeLog): New rule. (dist-hook): Depend on it. (EXTRA_DIST): Distribute the two ChangeLog-* files. * bootstrap.conf (gnulib_modules): Add gitlog-to-changelog. (bootstrap_post_import_hook): Ensure that ChangeLog exists. * build-aux/git-log-fix: New file. * ChangeLog-2012: Renamed ... * ChangeLog: ... from this. * ChangeLog-1998: Renamed ... * OChangeLog: ...from this * .gitignore: Add ChangeLog. (cherry picked from commit 5ef4a3c71cfd6c07e71462944281c284780312c1) Conflicts: Makefile.am bootstrap.conf build-aux/.gitignore
| * build: manually update bootstrap from gnulib, and adaptJim Meyering2012-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updating to the latest bootstrap from gnulib involves more of a change than usual, and updating to the latest gnulib would involve its own set of challenges with the upcoming quoting changes, so we update bootstrap manually and separately. * bootstrap: Update from gnulib. * lib/Makefile.am: Initialize more variables to empty, so that gnulib.mk can append to them with "+=". * bootstrap.conf (gnulib_mk_hook): Remove. No longer honored. (gnulib_tool_option_extras): Generate gnulib.mk. (cherry picked from commit 85ad742d4e94345d5ac07755f6722344cfd49603) Conflicts: Makefile.am bootstrap.conf etc/prefix-gnulib-mk
| * maint: get gpl-3.0 from gnulibJim Meyering2012-01-221-1/+1
| | | | | | | | | | | | | | | | * bootstrap.conf (gnulib_modules): Add gpl-3.0. * doc/gpl-3.0.texi: Remove from version control, now that we get it via gnulib. * doc/.gitignore: Ignore it. (cherry picked from commit b87414a05e43ed270d5a88d365d0139f43acb34d)
| * maint: get fdl.texi from gnulibJim Meyering2012-01-151-1/+1
| | | | | | | | | | * bootstrap.conf (gnulib_modules): Add fdl. * doc/fdl.texi: Remove file.
| * maint: run "make update-copyright".Akim Demaille2012-01-131-1/+1
| |
| * Pacify -DGNULIB_POSIXCHECK.Joel E. Denny2011-05-011-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * bootstrap.conf (gnulib_modules): Add all modules suggested by -DGNULIB_POSIXCHECK. * src/files.c (file_name_split) * src/getargs.c (getargs) * src/location.c (boundary_set_from_string) * src/output.c (token_definitions_output, output_skeleton) * src/parse-gram.y (prologue_declaration) * src/scan-gram.l (handle_syncline) * src/symtab.c (symbol_new): Use mbschr and mbsrchr instead of strchr and strrchr. In the cases of command-line options, file names, and thus locations, functionality may be improved. In the case of symbol names, there should be no functional difference as all characters are ASCII, so the intended benefit is just warning suppression.
| * gnulib, autoconf: update.Joel E. Denny2011-04-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * README-hacking (Updating a submodule): Give advice on how to determine the versions of gnulib and autoconf to which we should update. (Release Procedure): Note that submodules should be updated. * bootstrap.conf (gnulib_modules): Rename pipe to spawn-pipe as suggested in updated gnulib NEWS. * gnulib: Choose a stable snapshot according to advice in Bison's README-hacking. * po/POTFILES.in (lib/pipe.c): Rename to... (lib/spawn-pipe.c): ... this. * src/output.c: Update to include spawn-pipe.h. * submodules/autoconf: Update to latest for improvement in m4.m4 that excludes M4 with buggy strstr. The only other changes to files that we use are copyright updates.
| * maint: don't update copyright years in bootstrap.Joel E. Denny2011-01-031-0/+5
| | | | | | | | | | | | | | | | | | | | * .x-update-copyright: Add entry for bootstrap. * bootstrap: Remove 2011 from copyright years. The bootstrap version we're currently using comes from an older version of gnulib. * bootstrap.conf (bootstrap_sync): Add comments explaining this issue. (cherry picked from commit 355bdbdc723fe79beb6a8aeb04b516eac64c3ec8)
| * maint: run "make update-copyright".Joel E. Denny2011-01-021-1/+1
| |
| * build: use gnulib's new bootstrap_sync option.Joel E. Denny2010-11-211-0/+2
| | | | | | | | | | | | | | | | | | Now, whenever we update bison's copy of gnulib, bootstrap will update itself the next time it's run. * bootstrap: Copy from latest gnulib for bootstrap_sync support. * bootstrap.conf (bootstrap_sync): Set to true. * gnulib: Update to latest so bootstrap is in sync now. (cherry picked from commit 10bae98af27edbb84a06d82a20a63ad7a0cca688)
| * Adjust to recent changes to gnulib bootstrap.Paul Eggert2010-10-161-10/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * .cvsignore, build-aux/.cvsignore, doc/.cvsignore, etc/.cvsignore: * examples/calc++/.cvsignore, lib/.cvsignore, m4/.cvsignore: * po/.cvsignore, runtime-po/.cvsignore, src/.cvsignore: * tests/.cvsignore: Remove; I don't use CVS to maintain Bison anymore and don't know of anybody else who does. If someone needs these files, they can resurrect them. * .gitignore, build-aux/.gitignore, doc/.gitignore, lib/.gitignore: * m4/.gitignore, po/.gitignore, runtime-po/.gitignore: Omit leading '/', since bootstrap omits it. Adjust file names to match current contents better. * bootstrap: Sync from gnulib: this contains the new gnulib_mk_hook installed just for us. * bootstrap.conf (excluded_files): Don't exclude codeset.m4, glibc21.m4, inttypes_h.m4, size_max.m4, xsize.m4, as they are now needed somehow. Don't have time to look into why. (gnulib_modules): Change malloc to malloc-gnu. Do we really assume the GNU malloc behavior, where malloc (0) != NULL unless we're out of storage? If not, we can omit malloc-gnu; but for now I left it in to be safe. (vc_ignore): Remove. * README-hacking: Renamed from HACKING, since gnulib bootstrap now uses that convention. (cherry picked from commit 95aed8db15a0bb0f7819bf77586d0cf6812ffdfd) Conflicts: bootstrap build-aux/.cvsignore build-aux/.gitignore doc/.cvsignore doc/.gitignore etc/.cvsignore m4/.cvsignore m4/.gitignore src/.cvsignore src/.gitignore tests/.cvsignore
| * Do not use date ranges in copyright notices.Paul Eggert2010-06-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See http://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices * HACKING, Makefile.am, NEWS, PACKAGING, README, README-alpha: * TODO, bootstrap, bootstrap.conf: * build-aux/update-b4-copyright, cfg.mk, configure.ac: * 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/xslt/bison.xsl: * data/xslt/xml2dot.xsl, data/xslt/xml2text.xsl: * data/xslt/xml2xhtml.xsl, data/yacc.c, 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/bison.texinfo: * doc/refcard.tex, etc/README, etc/bench.pl.in: * examples/calc++/Makefile.am, examples/extexi: * 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/timevar.c: * lib/timevar.def, lib/timevar.h, lib/vbitset.c: * lib/vbitset.h, lib/yyerror.c, m4/bison-i18n.m4: * m4/c-working.m4, m4/cxx.m4, m4/subpipe.m4, m4/timevar.m4: * src/AnnotationList.c, src/AnnotationList.h: * src/InadequacyList.c, src/InadequacyList.h, src/LR0.c: * src/LR0.h, src/Sbitset.c, src/Sbitset.h, 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/ielr.c: * src/ielr.h, src/lalr.c, src/lalr.h: * src/location.c, src/location.h, src/main.c: * src/muscle-tab.c, src/muscle-tab.h, src/named-ref.c: * src/named-ref.h, src/nullable.c, src/nullable.h: * src/output.c, src/output.h, src/parse-gram.y: * src/print-xml.c, src/print-xml.h, 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/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/actions.at, tests/atlocal.in, 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/named-refs.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: * data/Makefile.am, data/location.cc, doc/Makefile.am, src/Makefile.am: * tests/Makefile.am, lib/Makefile.am, examples/Makefile.am: * etc/Makefile.am: Don't use date ranges in copyright notices. Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
| * build: don't require src/bison during bootstrap.Joel E. Denny2010-04-251-0/+7
| | | | | | | | | | | | | | | | Suggested by Eric Blake at <http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00003.html>. * bootstrap.conf (bootstrap_epilogue): New function to make sure src/parse-gram.[ch] are stamped later than src/parse-gram.y. (cherry picked from commit b733bcd00e6fc8db45c86dc289938a28c1bf72d8)
| * portability: fix several issues with M4 subprocess.Joel E. Denny2010-02-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | M4's output pipe was not being drained upon fatal errors during scan_skel. As a result, broken-pipe messages from M4 were seen on at least AIX, HP-UX, Solaris, and RHEL4, and this caused a failure in the test suite. The problem was that, on platforms where the default disposition for SIGPIPE is ignore instead of terminate, M4 sometimes saw fwrite fail with errno=EPIPE and then reported it. However, there's some sort of race condition, because the new test group occasionally succeeded. Reported by Albert Chin at <http://lists.gnu.org/archive/html/bug-bison/2010-02/msg00004.html>. There were also problems with the test suite livelocking on Tru64 5.1b. Reported by Didier Godefroy at <http://lists.gnu.org/archive/html/bug-bison/2009-05/msg00005.html>. Switching to create_pipe_bidi suggested by Akim Demaille. To attempt to solve both of these problems, switch to gnulib's create_pipe_bidi and register M4 process as a slave. Along the way, clean up file name conflict handling, which was affected by the broken-pipe problem before the switch. * NEWS (2.4.2): Document. * THANKS (Didier Godefroy): Add. * bootstrap.conf (gnulib_modules): Add pipe. * gnulib: Update to latest to make sure we have all the latest fixes. * lib/Makefile.am (libbison_a_SOURCES): Remove subpipe.h and subpipe.c. * po/POTFILES.in (lib/subpipe.c): Remove. * src/files.c (compute_output_file_names): Update invocations of output_file_name_check. (output_file_name_check): In the case that the grammar file would be overwritten, use complain instead of fatal, but replace the output file name with /dev/null. Use the /dev/null solution for the case of two conflicting output files as well because it seems safer in case Bison one day tries to open both files at the same time. * src/files.h (output_file_name_check): Update prototype. * src/output.c (output_skeleton): Use create_pipe_bidi and wait_subprocess. Assert that scan_skel completely drains the pipe. * src/scan-skel.l (at_directive_perform): Update output_file_name_check invocation. * tests/output.at (AT_CHECK_CONFLICTING_OUTPUT): Check that the grammar file actually isn't overwritten. (Conflicting output files: -o foo.y): Update expected output. * tests/skeletons.at (Fatal errors but M4 continues producing output): New test group. (cherry picked from commit 22cc8d813ee57c9631e527a31010ab138f9b7e06) Conflicts: NEWS bootstrap.conf lib/.cvsignore lib/.gitignore m4/.cvsignore m4/.gitignore src/output.c
| * maint: run "make update-copyright"Joel E. Denny2010-01-041-1/+1
| |
| * portability: use -DGNULIB_POSIXCHECK.Joel E. Denny2009-12-151-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reported by Eric Blake. See discussions at <http://lists.gnu.org/archive/html/bug-bison/2009-09/msg00008.html> and <http://lists.gnu.org/archive/html/bug-gnulib/2009-10/msg00108.html>. * HACKING (Release checks): Suggest -DGNULIB_POSIXCHECK. * bootstrap.conf (gnulib_modules): Add all the printf modules suggested by -DGNULIB_POSIXCHECK. Add realloc-posix as suggested by -DGNULIB_POSIXCHECK for gnulib's own vasnprintf.c. (excluded_files): Remove m4/printf-posix.m4. * tests/atlocal.in (LIBS): As for LDADD in src/Makefile.am, add lib/libbison.a so gnulib libraries can be linked. (cherry picked from commit 5c99151aeb4396bf35b482e27075948c33088afa) Conflicts: lib/.cvsignore lib/.gitignore m4/.cvsignore m4/.gitignore
| * Enable assertion output and --disable-assert for configure.Joel E. Denny2009-12-141-6/+6
| | | | | | | | | | | | | | * bootstrap.conf (gnulib_modules): Add assert module. * src/system.h (aver): Define as assert, and summarize the discussion on this issue. (cherry picked from commit ca01f454f01645533622a59ef0df335ee07679e5)
| * maint: fix use of copyright year intervals.Joel E. Denny2009-08-141-1/+1
| | | | | | | | | | | | | | | | | | * gnulib: Update. * bootstrap.conf (gnulib_modules): Update getopt to getopt-gnu as now recommended in gnulib/NEWS. * build-aux/update-b4-copyright: Fix. * cfg.mk (update-copyright-env): Configure update-copyright. (cherry picked from commit 75ac158b82be1fab5157b140287368165a50ec82)
| * maint: automate annual package-wide copyright-year update.Joel E. Denny2009-08-041-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * .x-update-copyright: New. * Makefile.am (EXTRA_DIST): Remove maint.mk. * bootstrap.conf (gnulib_modules): Add maintainer-makefile and update-copyright. Remove gnumakefile, which is implied by maintainer-makefile. * cfg.mk (bootstrap-tools): Copy from old maint.mk. * gnulib: Update. * maint.mk: Remove, now copied from gnulib. * examples/extexi: Add missing "(C)" in copyright statement so update-copyright can recognize it. * src/LR0.h: Likewise. * src/print.h: Likewise. * src/print_graph.h: Likewise. * src/named-ref.c: Likewise. * src/named-ref.h: Likewise. * src/gram.c: Add missing comma in copyright statement. * src/gram.h: Likewise. (cherry picked from commit 50bcb22c4cda30353f44930b0a29519609527408) Conflicts: gnulib src/gram.c
| * Help with updating web manual.Joel E. Denny2009-04-031-7/+7
| | | | | | | | | | * HACKING: Incorporate instructions from gnulib/doc/README. * bootstrap.conf (gnulib_modules): Add gendocs.
| * Replace m4/warning.m4 with warnings module.Paolo Bonzini2008-11-121-7/+2
| | | | | | | | | | | | | | | | * bootstrap.conf: Replace m4/warning.m4 with warnings module. * configure.ac: Adjust usage. * lib/Makefile.am: Replace $(WARNING_CFLAGS) with $(WARN_CFLAGS). * src/Makefile.am: Replace $(WARNING_CFLAGS) with $(WARN_CFLAGS). * tests/atlocal.in: Replace $(WARNING_*FLAGS) with $(WARN_*FLAGS).
* | tests: fix regressions.Akim Demaille2012-02-211-1/+0
| | | | | | | | | | | | | | | | | | | | Exit status 63 is documented for version-mismatch. * bootstrap.conf (gnulib_modules): Remove sysexits. * src/system.h (EX_MISMATCH): Define. * src/parse-gram.y (version_check): Use it instead of EX_CONFIG. Missing includes. * tests/calc.at, tests/named-refs.at: Include assert.h.
* | maint: address sc_bindtextdomain, sc_program_name and sc_prohibit_HAVE_MBRTOWC.Akim Demaille2012-02-191-1/+2
| | | | | | | | | | | | | | | | * bootstrap.conf (gnulib_modules): Require progname. * src/complain.c, src/getargs.c, src/getargs.h, src/main.c: Use it. * cfg.mk (exclude): New. Use it. Skip lib/main.c for bindtextdomain and set_program_name.
* | maint: avoid "magic number exit".Akim Demaille2012-02-181-0/+1
| | | | | | | | | | | | | | | | | | * cfg.mk (local-checks-to-skip): No longer skip it. * bootstrap.conf (gnulib_modules): Add sysexits. * doc/bison.texinfo, etc/bench.pl.in, src/parse-gram.y, * src/system.h, tests/calc.at, tests/named-refs.at: Use assert where appropriate instead of "if (...) exit". Use symbolic exit status elsewhere.
* | do not ignore errors like ENOSPC,EIO when writing to stdoutJim Meyering2012-01-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Standard output was never explicitly closed, so we could not detect failure. Thus, bison would ignore the errors of writing to a full file system and getting an I/O error on write, but only for standard output, e.g., for --print-localedir, --print-datadir, --help and some verbose output. Now, "bison --print-datadir > /dev/full" reports the write failure: bison: write error: No space left on device Before, it would exit 0 with no diagnostic, implying success. This is not an issue for "--output=-" or the other FILE-accepting command-line options, because unlike most other GNU programs, an output file argument of "-" is treated as the literal "./-", rather than standard output. * bootstrap.conf (gnulib_modules): Add closeout. * src/main.c: Include "closeout.h". Use atexit to ensure we close stdout. * .gitignore: Ignore new files pulled in via gnulib-tool.
* | build: generalize etc/prefix-gnulib-mkJim Meyering2012-01-231-1/+1
| | | | | | | | | | | | | | | | | | This script hard-coded "libbison" and lib/gnulib.mk. Adjust the script to require a --lib-name=$gnulib_name option and a FILE argument like lib/$gnulib_mk. Also add support for --help and --version. * etc/prefix-gnulib-mk: Generalize. * bootstrap.conf (bootstrap_post_import_hook): Update its invocation.
* | maint: generate ChangeLog from git logJim Meyering2012-01-201-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.am (gen-ChangeLog): New rule. (dist-hook): Depend on it. (EXTRA_DIST): Distribute the two ChangeLog-* files. * bootstrap.conf (gnulib_modules): Add gitlog-to-changelog. (bootstrap_post_import_hook): Ensure that ChangeLog exists. * build-aux/git-log-fix: New file. * ChangeLog-2012: Renamed ... * ChangeLog: ... from this. * ChangeLog-1998: Renamed ... * OChangeLog: ...from this * .gitignore: Add ChangeLog.
* | build: manually update bootstrap from gnulib, and adaptJim Meyering2012-01-191-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updating to the latest bootstrap from gnulib involves more of a change than usual, and updating to the latest gnulib would involve its own set of challenges with the upcoming quoting changes, so we update bootstrap manually and separately. * bootstrap: Update from gnulib. * Makefile.am: Initialize more variables to empty, so that gnulib.mk can append to them with "+=". * bootstrap.conf (gnulib_mk_hook): Remove. No longer honored. (bootstrap_post_import_hook): Instead, run the same command, etc/prefix-gnulib-mk lib/$gnulib_mk, via slightly different API. Temporarily disable "bootstrap_sync=true". * etc/prefix-gnulib-mk: Don't prepend "lib/" to tokens like -I$(... or "\".
* | maint: get gpl-3.0 from gnulibJim Meyering2012-01-191-1/+1
| | | | | | | | | | | | | | * bootstrap.conf (gnulib_modules): Add gpl-3.0. * doc/gpl-3.0.texi: Remove from version control, now that we get it via gnulib. * doc/.gitignore: Ignore it.
* | maint: get fdl.texi from gnulibJim Meyering2012-01-131-1/+1
| | | | | | | | | | * bootstrap.conf (gnulib_modules): Add fdl. * doc/fdl.texi: Remove file.
* | maint: run "make update-copyright".Jim Meyering2012-01-131-1/+1
| |
* | Pacify -DGNULIB_POSIXCHECK.Joel E. Denny2011-05-011-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * bootstrap.conf (gnulib_modules): Add all modules suggested by -DGNULIB_POSIXCHECK. * src/files.c (file_name_split) * src/getargs.c (getargs) * src/location.c (boundary_set_from_string) * src/output.c (output_skeleton) * src/parse-gram.y (prologue_declaration) * src/scan-gram.l (handle_syncline) * src/symtab.c (symbol_new): Use mbschr and mbsrchr instead of strchr and strrchr. In the cases of command-line options, file names, and thus locations, functionality may be improved. In the case of symbol names, there should be no functional difference as all characters are ASCII, so the intended benefit is just warning suppression. (cherry picked from commit d143e9c33f07e1a9966c10077f43e2f81232bf6c) Conflicts: src/output.c src/parse-gram.c src/parse-gram.h
* | gnulib, autoconf: update.Joel E. Denny2011-04-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * README-hacking (Updating a submodule): Give advice on how to determine the versions of gnulib and autoconf to which we should update. (Release Procedure): Note that submodules should be updated. * bootstrap.conf (gnulib_modules): Rename pipe to spawn-pipe as suggested in updated gnulib NEWS. * gnulib: Choose a stable snapshot according to advice in Bison's README-hacking. * po/POTFILES.in (lib/pipe.c): Rename to... (lib/spawn-pipe.c): ... this. * src/output.c: Update to include spawn-pipe.h. * submodules/autoconf: Update to latest for improvement in m4.m4 that excludes M4 with buggy strstr. The only other changes to files that we use are copyright updates. (cherry picked from commit a898435b25eca4869e8c49b2b0fb1f649b030ce7) Conflicts: build-aux/.gitignore
* | maint: don't update copyright years in bootstrap.Joel E. Denny2011-01-031-0/+5
| | | | | | | | | | | | | | | | | | * .x-update-copyright: Add entry for bootstrap. * bootstrap: Remove 2011 from copyright years. The bootstrap version we're currently using comes from an older version of gnulib. * bootstrap.conf (bootstrap_sync): Add comments explaining this issue.
* | maint: run "make update-copyright".Joel E. Denny2011-01-021-1/+1
| |
* | build: use gnulib's new bootstrap_sync option.Joel E. Denny2010-11-211-0/+2
| | | | | | | | | | | | | | | | Now, whenever we update bison's copy of gnulib, bootstrap will update itself the next time it's run. * bootstrap: Copy from latest gnulib for bootstrap_sync support. * bootstrap.conf (bootstrap_sync): Set to true. * gnulib: Update to latest so bootstrap is in sync now.
* | Adjust to recent changes to gnulib bootstrap.Paul Eggert2010-10-081-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * .cvsignore, build-aux/.cvsignore, doc/.cvsignore, etc/.cvsignore: * examples/calc++/.cvsignore, lib/.cvsignore, m4/.cvsignore: * po/.cvsignore, runtime-po/.cvsignore, src/.cvsignore: * tests/.cvsignore: Remove; I don't use CVS to maintain Bison anymore and don't know of anybody else who does. If someone needs these files, they can resurrect them. * .gitignore, build-aux/.gitignore, doc/.gitignore, lib/.gitignore: * m4/.gitignore, po/.gitignore, runtime-po/.gitignore: Omit leading '/', since bootstrap omits it. Adjust file names to match current contents better. * bootstrap: Sync from gnulib: this contains the new gnulib_mk_hook installed just for us. * bootstrap.conf (excluded_files): Don't exclude codeset.m4, glibc21.m4, inttypes_h.m4, size_max.m4, xsize.m4, as they are now needed somehow. Don't have time to look into why. (gnulib_modules): Change malloc to malloc-gnu. Do we really assume the GNU malloc behavior, where malloc (0) != NULL unless we're out of storage? If not, we can omit malloc-gnu; but for now I left it in to be safe. (vc_ignore): Remove. (gnulib_mk_hook): New function. * README-hacking: Renamed from HACKING, since gnulib bootstrap now uses that convention.
* | Do not use date ranges in copyright notices.Paul Eggert2010-06-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See http://www.gnu.org/prep/maintain/maintain.html#Copyright-Notices * HACKING, Makefile.am, NEWS, PACKAGING, README, README-alpha: * TODO, bootstrap, bootstrap.conf: * build-aux/update-b4-copyright, cfg.mk, configure.ac: * 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/local.mk, data/location.cc: * data/stack.hh, data/variant.hh, data/xslt/bison.xsl: * data/xslt/xml2dot.xsl, data/xslt/xml2text.xsl: * data/xslt/xml2xhtml.xsl, data/yacc.c, djgpp/Makefile.maint: * djgpp/README.in, djgpp/config.bat, djgpp/config.sed: * djgpp/config.site, djgpp/config_h.sed, djgpp/djunpack.bat: * djgpp/local.mk, djgpp/subpipe.c, djgpp/subpipe.h: * djgpp/testsuite.sed, doc/bison.texinfo, doc/local.mk: * doc/refcard.tex, etc/README, etc/bench.pl.in, etc/local.mk: * examples/calc++/Makefile.am, examples/extexi: * examples/local.mk, 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/local.mk, lib/main.c, lib/timevar.c: * lib/timevar.def, lib/timevar.h, lib/vbitset.c: * lib/vbitset.h, lib/yyerror.c, m4/bison-i18n.m4: * m4/c-working.m4, m4/cxx.m4, m4/subpipe.m4, m4/timevar.m4: * src/AnnotationList.c, src/AnnotationList.h: * src/InadequacyList.c, src/InadequacyList.h, src/LR0.c: * src/LR0.h, src/Sbitset.c, src/Sbitset.h, 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/ielr.c: * src/ielr.h, src/lalr.c, src/lalr.h, src/local.mk: * src/location.c, src/location.h, src/main.c: * src/muscle-tab.c, src/muscle-tab.h, src/named-ref.c: * src/named-ref.h, src/nullable.c, src/nullable.h: * src/output.c, src/output.h, src/parse-gram.y: * src/print-xml.c, src/print-xml.h, 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/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/actions.at, tests/atlocal.in, 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/local.mk, tests/named-refs.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: Don't use date ranges in copyright notices. Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
* | build: don't require src/bison during bootstrap.Joel E. Denny2010-04-251-0/+7
| | | | | | | | | | | | | | | | Suggested by Eric Blake at <http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00003.html>. * bootstrap.conf (bootstrap_epilogue): New function to make sure src/parse-gram.[ch] are stamped later than src/parse-gram.y. (cherry picked from commit b733bcd00e6fc8db45c86dc289938a28c1bf72d8)
* | portability: fix several issues with M4 subprocess.Joel E. Denny2010-02-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | M4's output pipe was not being drained upon fatal errors during scan_skel. As a result, broken-pipe messages from M4 were seen on at least AIX, HP-UX, Solaris, and RHEL4, and this caused a failure in the test suite. The problem was that, on platforms where the default disposition for SIGPIPE is ignore instead of terminate, M4 sometimes saw fwrite fail with errno=EPIPE and then reported it. However, there's some sort of race condition, because the new test group occasionally succeeded. Reported by Albert Chin at <http://lists.gnu.org/archive/html/bug-bison/2010-02/msg00004.html>. There were also problems with the test suite livelocking on Tru64 5.1b. Reported by Didier Godefroy at <http://lists.gnu.org/archive/html/bug-bison/2009-05/msg00005.html>. Switching to create_pipe_bidi suggested by Akim Demaille. To attempt to solve both of these problems, switch to gnulib's create_pipe_bidi and register M4 process as a slave. Along the way, clean up file name conflict handling, which was affected by the broken-pipe problem before the switch. * NEWS (2.4.2): Document. * THANKS (Didier Godefroy): Add. * bootstrap.conf (gnulib_modules): Add pipe. * gnulib: Update to latest to make sure we have all the latest fixes. * lib/local.mk (lib_libbison_a_SOURCES): Remove subpipe.h and subpipe.c. * po/POTFILES.in (lib/subpipe.c): Remove. * src/files.c (compute_output_file_names): Update invocations of output_file_name_check. (output_file_name_check): In the case that the grammar file would be overwritten, use complain instead of fatal, but replace the output file name with /dev/null. Use the /dev/null solution for the case of two conflicting output files as well because it seems safer in case Bison one day tries to open both files at the same time. * src/files.h (output_file_name_check): Update prototype. * src/output.c (output_skeleton): Use create_pipe_bidi and wait_subprocess. Assert that scan_skel completely drains the pipe. * src/scan-skel.l (at_directive_perform): Update output_file_name_check invocation. * tests/output.at (AT_CHECK_CONFLICTING_OUTPUT): Check that the grammar file actually isn't overwritten. (Conflicting output files: -o foo.y): Update expected output. * tests/skeletons.at (Fatal errors but M4 continues producing output): New test group. (cherry picked from commit 22cc8d813ee57c9631e527a31010ab138f9b7e06) Conflicts: NEWS bootstrap.conf lib/.cvsignore lib/.gitignore lib/Makefile.am m4/.cvsignore m4/.gitignore src/output.c