From fb9a3976c2430adf4787730fb7b26af82eb880fe Mon Sep 17 00:00:00 2001 From: "Joel E. Denny" Date: Tue, 15 Dec 2009 00:15:41 -0500 Subject: [PATCH] portability: use -DGNULIB_POSIXCHECK. Reported by Eric Blake. See discussions at and . * 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 --- ChangeLog | 15 +++++++++++++++ HACKING | 3 +++ bootstrap.conf | 11 +++++++---- build-aux/.cvsignore | 1 + build-aux/.gitignore | 1 + gnulib | 2 +- lib/.cvsignore | 47 +++++++++++++++++++++++++++++++++++++++++++++++ lib/.gitignore | 47 +++++++++++++++++++++++++++++++++++++++++++++++ m4/.cvsignore | 35 +++++++++++++++++++++++++++++++++++ m4/.gitignore | 35 +++++++++++++++++++++++++++++++++++ tests/atlocal.in | 2 +- 11 files changed, 193 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index cee393b..ee33573 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2009-12-15 Joel E. Denny + + portability: use -DGNULIB_POSIXCHECK. + Reported by Eric Blake. See discussions at + + and + . + * 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-14 Joel E. Denny Enable assertion output and --disable-assert for configure. diff --git a/HACKING b/HACKING index 82f07bb..4edb98b 100644 --- a/HACKING +++ b/HACKING @@ -172,6 +172,9 @@ release: that 1. Bison compiles cleanly, 2. the parsers it produces compile cleanly too. +- Build with -DGNULIB_POSIXCHECK. It suggests gnulib modules that can + fix portability issues. + - run `make maintainer-check' which: - runs `valgrind -q bison' to run Bison under Valgrind. - runs the parsers under Valgrind. diff --git a/bootstrap.conf b/bootstrap.conf index dff8d80..4522d8c 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -20,9 +20,13 @@ gnulib_modules=' announce-gen argmatch assert config-h c-strcase configmake dirname error extensions fopen-safer gendocs getopt-gnu gettext git-version-gen hash inttypes javacomp-script javaexec-script - maintainer-makefile malloc mbswidth obstack quote quotearg stdbool - stpcpy strerror strtoul strverscmp unistd unistd-safer unlocked-io - update-copyright unsetenv verify warnings xalloc xalloc-die xstrndup + maintainer-makefile malloc mbswidth obstack quote quotearg + realloc-posix stdbool stpcpy strerror strtoul strverscmp unistd + unistd-safer unlocked-io update-copyright unsetenv verify warnings + xalloc xalloc-die xstrndup + + fprintf-posix printf-posix snprintf-posix sprintf-posix + vsnprintf-posix vsprintf-posix ' # Additional xgettext options to use. Use "\\\newline" to break lines. @@ -52,7 +56,6 @@ excluded_files=' m4/lcmessage.m4 m4/lock.m4 m4/longdouble.m4 - m4/printf-posix.m4 m4/signed.m4 m4/size_max.m4 m4/uintmax_t.m4 diff --git a/build-aux/.cvsignore b/build-aux/.cvsignore index 7715114..1ac3070 100644 --- a/build-aux/.cvsignore +++ b/build-aux/.cvsignore @@ -1,6 +1,7 @@ Makefile Makefile.in announce-gen +arg-nonnull.h compile config.guess config.rpath diff --git a/build-aux/.gitignore b/build-aux/.gitignore index 610ad9e..ea4bcce 100644 --- a/build-aux/.gitignore +++ b/build-aux/.gitignore @@ -1,6 +1,7 @@ /Makefile /Makefile.in /announce-gen +/arg-nonnull.h /compile /config.guess /config.rpath diff --git a/gnulib b/gnulib index 3ef6401..3fd9a2d 160000 --- a/gnulib +++ b/gnulib @@ -1 +1 @@ -Subproject commit 3ef64012bf653379fda629f5a6b619be4c1f2e69 +Subproject commit 3fd9a2df88c558b27be3a585ca2978dbf9b5da53 diff --git a/lib/.cvsignore b/lib/.cvsignore index 9cf8ec5..a8e7196 100644 --- a/lib/.cvsignore +++ b/lib/.cvsignore @@ -1,8 +1,11 @@ .deps Makefile Makefile.in +alloca.in.h argmatch.c argmatch.h +asnprintf.c +basename-lgpl.c basename.c bitrotate.h c-ctype.c @@ -15,16 +18,27 @@ config.charset config.h config.hin configmake.h +dirname-lgpl.c dirname.c dirname.h dup-safer.c +dup2.c errno.in.h error.c error.h exitfail.c exitfail.h fd-safer.c +float+.h +float.in.h fopen-safer.c +fopen.c +fprintf.c +fpucw.h +frexp.c +frexpl.c +fseterr.c +fseterr.h getopt.c getopt.h getopt.in.h @@ -40,9 +54,17 @@ intprops.h inttypes.h inttypes.in.h inttypes_.h +isnan.c +isnand-nolibm.h +isnand.c +isnanf-nolibm.h +isnanf.c +isnanl-nolibm.h +isnanl.c localcharset.c localcharset.h malloc.c +math.in.h mbrtowc.c mbsinit.c mbswidth.c @@ -52,14 +74,30 @@ memchr.valgrind obstack.c obstack.h pipe-safer.c +printf-args.c +printf-args.h +printf-frexp.c +printf-frexp.h +printf-frexpl.c +printf-frexpl.h +printf-parse.c +printf-parse.h +printf.c quote.c quote.h quotearg.c quotearg.h +realloc.c ref-add.sed ref-add.sin ref-del.sed ref-del.sin +signbitd.c +signbitf.c +signbitl.c +size_max.h +snprintf.c +sprintf.c stamp-h1 stdbool.h stdbool.in.h @@ -69,7 +107,10 @@ stdint.h stdint.in.h stdint_.h stdio--.h +stdio-impl.h stdio-safer.h +stdio-write.c +stdio.in.h stdlib.h stdlib.in.h stdlib_.h @@ -96,7 +137,12 @@ uniwidth uniwidth.h unlocked-io.h unsetenv.c +vasnprintf.c +vasnprintf.h verify.h +vfprintf.c +vsnprintf.c +vsprintf.c wchar.h wchar.in.h wchar_.h @@ -108,5 +154,6 @@ wcwidth.h xalloc-die.c xalloc.h xmalloc.c +xsize.h xstrndup.c xstrndup.h diff --git a/lib/.gitignore b/lib/.gitignore index 61afc48..692a9eb 100644 --- a/lib/.gitignore +++ b/lib/.gitignore @@ -4,8 +4,11 @@ /.deps /Makefile /Makefile.in +/alloca.in.h /argmatch.c /argmatch.h +/asnprintf.c +/basename-lgpl.c /basename.c /bitrotate.h /c-ctype.c @@ -18,16 +21,27 @@ /config.h /config.hin /configmake.h +/dirname-lgpl.c /dirname.c /dirname.h /dup-safer.c +/dup2.c /errno.in.h /error.c /error.h /exitfail.c /exitfail.h /fd-safer.c +/float+.h +/float.in.h /fopen-safer.c +/fopen.c +/fprintf.c +/fpucw.h +/frexp.c +/frexpl.c +/fseterr.c +/fseterr.h /getopt.c /getopt.h /getopt.in.h @@ -43,9 +57,17 @@ /inttypes.h /inttypes.in.h /inttypes_.h +/isnan.c +/isnand-nolibm.h +/isnand.c +/isnanf-nolibm.h +/isnanf.c +/isnanl-nolibm.h +/isnanl.c /localcharset.c /localcharset.h /malloc.c +/math.in.h /mbrtowc.c /mbsinit.c /mbswidth.c @@ -55,14 +77,30 @@ /obstack.c /obstack.h /pipe-safer.c +/printf-args.c +/printf-args.h +/printf-frexp.c +/printf-frexp.h +/printf-frexpl.c +/printf-frexpl.h +/printf-parse.c +/printf-parse.h +/printf.c /quote.c /quote.h /quotearg.c /quotearg.h +/realloc.c /ref-add.sed /ref-add.sin /ref-del.sed /ref-del.sin +/signbitd.c +/signbitf.c +/signbitl.c +/size_max.h +/snprintf.c +/sprintf.c /stamp-h1 /stdbool.h /stdbool.in.h @@ -72,7 +110,10 @@ /stdint.in.h /stdint_.h /stdio--.h +/stdio-impl.h /stdio-safer.h +/stdio-write.c +/stdio.in.h /stdlib.h /stdlib.in.h /stdlib_.h @@ -99,7 +140,12 @@ /uniwidth.h /unlocked-io.h /unsetenv.c +/vasnprintf.c +/vasnprintf.h /verify.h +/vfprintf.c +/vsnprintf.c +/vsprintf.c /wchar.h /wchar.in.h /wchar_.h @@ -111,5 +157,6 @@ /xalloc-die.c /xalloc.h /xmalloc.c +/xsize.h /xstrndup.c /xstrndup.h diff --git a/m4/.cvsignore b/m4/.cvsignore index 9012c37..a649cfa 100644 --- a/m4/.cvsignore +++ b/m4/.cvsignore @@ -1,16 +1,28 @@ 00gnulib.m4 absolute-header.m4 +alloca.m4 argmatch.m4 assert.m4 config-h.m4 dirname.m4 dos.m4 double-slash-root.m4 +dup2.m4 environ.m4 errno_h.m4 error.m4 exitfail.m4 +exponentd.m4 +exponentf.m4 +exponentl.m4 extensions.m4 +fcntl_h.m4 +float_h.m4 +fopen.m4 +fpieee.m4 +fprintf-posix.m4 +frexp.m4 +frexpl.m4 getopt.m4 getpagesize.m4 gettext.m4 @@ -23,11 +35,16 @@ iconv.m4 include_next.m4 inline.m4 intlmacosx.m4 +intmax_t.m4 inttypes-h.m4 inttypes-pri.m4 inttypes.m4 +isnand.m4 +isnanf.m4 +isnanl.m4 javacomp.m4 javaexec.m4 +ldexpl.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 @@ -37,6 +54,7 @@ locale-ja.m4 locale-zh.m4 longlong.m4 malloc.m4 +math_h.m4 mbrtowc.m4 mbsinit.m4 mbstate_t.m4 @@ -45,16 +63,28 @@ memchr.m4 mmap-anon.m4 multiarch.m4 nls.m4 +nocrash.m4 po.m4 +printf-frexp.m4 +printf-frexpl.m4 +printf-posix-rpl.m4 +printf-posix.m4 +printf.m4 progtest.m4 quote.m4 quotearg.m4 +realloc.m4 setenv.m4 +signbit.m4 +snprintf-posix.m4 +snprintf.m4 +sprintf-posix.m4 stdbool.m4 stddef_h.m4 stdint.m4 stdint_h.m4 stdio-safer.m4 +stdio_h.m4 stdlib_h.m4 stpcpy.m4 strerror.m4 @@ -68,6 +98,11 @@ threadlib.m4 unistd-safer.m4 unistd_h.m4 unlocked-io.m4 +vasnprintf.m4 +vfprintf-posix.m4 +vsnprintf-posix.m4 +vsnprintf.m4 +vsprintf-posix.m4 warning.m4 warnings.m4 wchar.m4 diff --git a/m4/.gitignore b/m4/.gitignore index ef6cd38..a992f2c 100644 --- a/m4/.gitignore +++ b/m4/.gitignore @@ -1,16 +1,28 @@ /00gnulib.m4 /absolute-header.m4 +/alloca.m4 /argmatch.m4 /assert.m4 /config-h.m4 /dirname.m4 /dos.m4 /double-slash-root.m4 +/dup2.m4 /environ.m4 /errno_h.m4 /error.m4 /exitfail.m4 +/exponentd.m4 +/exponentf.m4 +/exponentl.m4 /extensions.m4 +/fcntl_h.m4 +/float_h.m4 +/fopen.m4 +/fpieee.m4 +/fprintf-posix.m4 +/frexp.m4 +/frexpl.m4 /getopt.m4 /getpagesize.m4 /gettext.m4 @@ -23,11 +35,16 @@ /include_next.m4 /inline.m4 /intlmacosx.m4 +/intmax_t.m4 /inttypes-h.m4 /inttypes-pri.m4 /inttypes.m4 +/isnand.m4 +/isnanf.m4 +/isnanl.m4 /javacomp.m4 /javaexec.m4 +/ldexpl.m4 /lib-ld.m4 /lib-link.m4 /lib-prefix.m4 @@ -37,6 +54,7 @@ /locale-zh.m4 /longlong.m4 /malloc.m4 +/math_h.m4 /mbrtowc.m4 /mbsinit.m4 /mbstate_t.m4 @@ -45,16 +63,28 @@ /mmap-anon.m4 /multiarch.m4 /nls.m4 +/nocrash.m4 /po.m4 +/printf-frexp.m4 +/printf-frexpl.m4 +/printf-posix-rpl.m4 +/printf-posix.m4 +/printf.m4 /progtest.m4 /quote.m4 /quotearg.m4 +/realloc.m4 /setenv.m4 +/signbit.m4 +/snprintf-posix.m4 +/snprintf.m4 +/sprintf-posix.m4 /stdbool.m4 /stddef_h.m4 /stdint.m4 /stdint_h.m4 /stdio-safer.m4 +/stdio_h.m4 /stdlib_h.m4 /stpcpy.m4 /strerror.m4 @@ -68,6 +98,11 @@ /unistd-safer.m4 /unistd_h.m4 /unlocked-io.m4 +/vasnprintf.m4 +/vfprintf-posix.m4 +/vsnprintf-posix.m4 +/vsnprintf.m4 +/vsprintf-posix.m4 /warning.m4 /warnings.m4 /wchar.m4 diff --git a/tests/atlocal.in b/tests/atlocal.in index 9264a40..fb1cef6 100644 --- a/tests/atlocal.in +++ b/tests/atlocal.in @@ -33,7 +33,7 @@ CXXFLAGS='@O0CXXFLAGS@ @WARN_CXXFLAGS@ @WERROR_CFLAGS@' LDFLAGS='@LDFLAGS@' # Are special libraries needed? -LIBS='@LIBS@ @INTLLIBS@' +LIBS="$abs_top_builddir/lib/libbison.a @LIBS@ @INTLLIBS@" # Empty if no javac was found CONF_JAVAC='@CONF_JAVAC@' -- 2.7.4