Commit Graph

14 Commits

Author SHA1 Message Date
Joel E. Denny
e35bc778cb maint: use announce-gen's new --mail-headers.
* HACKING (Announce): Update instructions.
* cfg.mk (announcement_Cc_): Define.
* configure.ac (AM_GNU_GETTEXT_VERSION): Update to 0.18 as
required by latest gnulib.
* gnulib: Update to latest.
(cherry picked from commit e565556458)
2010-07-25 20:01:32 -04:00
Joel E. Denny
f39ab2869c portability: fix several issues with M4 subprocess.
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 22cc8d813e)

Conflicts:

	NEWS
	bootstrap.conf
	lib/.cvsignore
	lib/.gitignore
	lib/Makefile.am
	m4/.cvsignore
	m4/.gitignore
	src/output.c
2010-02-22 18:59:30 -05:00
Joel E. Denny
3320a276d2 * bootstrap: Import improvements from latest gnulib.
(cherry picked from commit 73edad9a25)

Conflicts:

	bootstrap
2010-01-20 01:19:07 -05:00
Joel E. Denny
a538eeb110 gnulib: update to latest. 2010-01-19 14:54:10 -05:00
Joel E. Denny
5c99151aeb portability: use -DGNULIB_POSIXCHECK.
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/local.mk, add
lib/libbison.a so gnulib libraries can be linked.
2009-12-15 17:39:07 -05:00
Joel E. Denny
75f94c6ddf gnulib: update for fix of fprintf-posix, which we'll use soon.
* etc/prefix-gnulib-mk (prefix): Adjust regex for make file
targets so that gnulib's new arg-nonnull.h and link-warning.h
are matched.
* gnulib: Update.
2009-12-15 17:22:15 -05:00
Joel E. Denny
585935e895 maint: fix use of copyright year intervals.
* 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 75ac158b82)
2009-08-14 18:50:49 -04:00
Joel E. Denny
35905f2b45 maint: automate annual package-wide copyright-year update.
* .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 dbbb64f091)

Conflicts:

	Makefile.am
	gnulib
	maint.mk
	src/gram.h
2009-08-04 20:22:30 -04:00
Akim Demaille
92d7a23ace gnulib: update.
* gnulib: Update to latest.
	* lib/.cvsignore, lib/.gitignore, m4/.cvsignore,
	* m4/.gitignore: Regen.
	* src/symtab.c (symbol_from_uniqstr, semantic_type_from_uniqstr):
	Call xalloc_die on hash_insert failures.
	Requested by the new __warn_unused_result__ attribute of
	hash_insert.
2009-06-10 10:56:19 +02:00
Akim Demaille
6a6e7f0c65 Upgrade gnulib.
* gnulib: Upgrade from master.
	* lib/.cvsignore, lib/.gitignore, m4/.cvsignore, m4/.gitignore:
	Regen.
2009-02-26 00:12:14 +01:00
Joel E. Denny
548e2104e2 Update several administrative files mainly to facilitate releasing.
* HACKING (Administrivia): Make the git-merge-changelog notes more
helpful.
(Test suite): Don't say lalr1.cc is not exercised in the test suite.
(Release Procedure): Update for git and add numerous details that were
previously missing.
* Makefile.am (EXTRA_DIST): Remove Makefile.cfg and Makefile.maint.
* maint.mk (announcement): Don't list bison as a bootstrap tool so
that announcements don't claim we bootstrapped with whatever bison
happened to be in PATH.  Add flex as a bootstrap tool.
* Makefile.maint: Remove, previously replaced by maint.mk.
* Makefile.cfg: Remove, and migrate settings to...
* cfg.mk: ... here for the sake of `make announcement'.
* bootstrap.conf (gnulib_modules): Add announce-gen.
* README: Say GNU Bison instead of just Bison.  Suggested by Karl
Berry.
2008-10-18 12:18:12 -04:00
Joel E. Denny
9aacab9ae9 Fix some .gitignore and .cvsignore problems.
* bootstrap (insert_sorted_if_absent): Replace all uses with...
(insert_vc_ignore): ... this new function, which prepends `/' to all
.gitignore entries before passing them to insert_sorted_if_absent.
* bootstrap.conf (vc_ignore): Set to '.cvsignore .gitignore' so that
.cvsignore files are maintained even though Bison developers run
bootstrap while using Git.
* .cvsignore (*.patch *.log log patches applied): Remove, apparently
unneeded by Bison.
(gnulib): Add.
* .gitignore (/*.patch *.log log patches applied): Remove, broken and
unneeded.  Reported by Eric Blake.
* lib/.gitignore (/*~): Add.
* po/.cvsignore, runtime-po/.cvsignore: Sync with .gitignore.
* examples/calc++/.gitignore (/calc++.exe): Add.  Reported by Eric
Blake.
* src/.gitignore (/bison.exe): Add.  Reported by Eric Blake.
2008-07-16 02:05:14 -04:00
Joel E. Denny
a9fc7990fa Improve forward-compatibility with GNU M4.
Reported by Eric Blake at
<http://lists.gnu.org/archive/html/bug-bison/2008-07/msg00000.html>.
* bootstrap.conf (gnulib_modules): Add unsetenv.
* lib/.gitignore, lib/.cvsignore (/unsetenv.c): Add.
* m4/.gitignore, m4/.cvsignore (/environ.m4): Add.
(/setenv.m4): Add.
* src/output.c (output_skeleton): For the m4 invocation, pass -dV as
the first argument because it may become position-dependent, and unset
POSIXLY_CORRECT so Bison's skeletons have access to GNU M4 extensions.
Add comments explaining these issues in more detail.
2008-07-15 21:00:36 -04:00
Joel E. Denny
0f1d6f10d7 Add .gitignore everywhere based on .cvsignore.
* .gitignore: New.
* build-aux/.gitignore: New.
* data/.gitignore: New.
* doc/.gitignore: New.
* etc/.gitignore: New.
* examples/.gitignore: New.
* examples/calc++/.gitignore: New.
* lib/.gitignore: New.
* m4/.gitignore: New.
* po/.gitignore: New.
* runtime-po/.gitignore: New.
* src/.gitignore: New.
* tests/.gitignore: New.
2008-07-14 06:06:26 -04:00