From 5c99151aeb4396bf35b482e27075948c33088afa 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/local.mk, add lib/libbison.a so gnulib libraries can be linked. --- ChangeLog | 15 +++++++++++++++ HACKING | 3 +++ bootstrap.conf | 11 +++++++---- lib/.cvsignore | 42 ++++++++++++++++++++++++++++++++++++++++++ lib/.gitignore | 42 ++++++++++++++++++++++++++++++++++++++++++ m4/.cvsignore | 33 +++++++++++++++++++++++++++++++++ m4/.gitignore | 33 +++++++++++++++++++++++++++++++++ tests/atlocal.in | 2 +- 8 files changed, 176 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2c4baf40..897b54a3 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-15 Joel E. Denny gnulib: update for fix of fprintf-posix, which we'll use soon. diff --git a/HACKING b/HACKING index 82f07bb4..4edb98b8 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 dff8d80a..4522d8c9 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/lib/.cvsignore b/lib/.cvsignore index b1915af1..a8e71962 100644 --- a/lib/.cvsignore +++ b/lib/.cvsignore @@ -1,8 +1,10 @@ .deps Makefile Makefile.in +alloca.in.h argmatch.c argmatch.h +asnprintf.c basename-lgpl.c basename.c bitrotate.h @@ -20,14 +22,23 @@ 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 +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 @@ -55,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 @@ -72,6 +107,7 @@ stdint.h stdint.in.h stdint_.h stdio--.h +stdio-impl.h stdio-safer.h stdio-write.c stdio.in.h @@ -101,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 @@ -113,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 2f02af19..692a9ebc 100644 --- a/lib/.gitignore +++ b/lib/.gitignore @@ -4,8 +4,10 @@ /.deps /Makefile /Makefile.in +/alloca.in.h /argmatch.c /argmatch.h +/asnprintf.c /basename-lgpl.c /basename.c /bitrotate.h @@ -23,14 +25,23 @@ /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 @@ -46,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 @@ -58,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 @@ -75,6 +110,7 @@ /stdint.in.h /stdint_.h /stdio--.h +/stdio-impl.h /stdio-safer.h /stdio-write.c /stdio.in.h @@ -104,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 @@ -116,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 c584329c..83061819 100644 --- a/m4/.cvsignore +++ b/m4/.cvsignore @@ -1,18 +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 @@ -25,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 @@ -39,6 +54,7 @@ locale-ja.m4 locale-zh.m4 longlong.m4 malloc.m4 +math_h.m4 mbrtowc.m4 mbsinit.m4 mbstate_t.m4 @@ -47,11 +63,22 @@ 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 @@ -71,6 +98,12 @@ threadlib.m4 unistd-safer.m4 unistd_h.m4 unlocked-io.m4 +vasnprintf-posix.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 3a07efaf..5fa82a61 100644 --- a/m4/.gitignore +++ b/m4/.gitignore @@ -1,18 +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 @@ -25,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 @@ -39,6 +54,7 @@ /locale-zh.m4 /longlong.m4 /malloc.m4 +/math_h.m4 /mbrtowc.m4 /mbsinit.m4 /mbstate_t.m4 @@ -47,11 +63,22 @@ /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 @@ -71,6 +98,12 @@ /unistd-safer.m4 /unistd_h.m4 /unlocked-io.m4 +/vasnprintf-posix.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 9264a40b..fb1cef62 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.47.2