portability: use -DGNULIB_POSIXCHECK.
authorJoel E. Denny <jdenny@clemson.edu>
Tue, 15 Dec 2009 05:15:41 +0000 (00:15 -0500)
committerJoel E. Denny <jdenny@clemson.edu>
Tue, 15 Dec 2009 23:30:34 +0000 (18:30 -0500)
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

ChangeLog
HACKING
bootstrap.conf
build-aux/.cvsignore
build-aux/.gitignore
gnulib
lib/.cvsignore
lib/.gitignore
m4/.cvsignore
m4/.gitignore
tests/atlocal.in

index cee393b..ee33573 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
+
+       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-14  Joel E. Denny  <jdenny@clemson.edu>
 
        Enable assertion output and --disable-assert for configure.
diff --git a/HACKING b/HACKING
index 82f07bb..4edb98b 100644 (file)
--- 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.
index dff8d80..4522d8c 100644 (file)
@@ -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
index 7715114..1ac3070 100644 (file)
@@ -1,6 +1,7 @@
 Makefile
 Makefile.in
 announce-gen
+arg-nonnull.h
 compile
 config.guess
 config.rpath
index 610ad9e..ea4bcce 100644 (file)
@@ -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 (submodule)
--- a/gnulib
+++ b/gnulib
@@ -1 +1 @@
-Subproject commit 3ef64012bf653379fda629f5a6b619be4c1f2e69
+Subproject commit 3fd9a2df88c558b27be3a585ca2978dbf9b5da53
index 9cf8ec5..a8e7196 100644 (file)
@@ -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
index 61afc48..692a9eb 100644 (file)
@@ -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
 /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
 /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
 /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
 /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
 /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
 /xalloc-die.c
 /xalloc.h
 /xmalloc.c
+/xsize.h
 /xstrndup.c
 /xstrndup.h
index 9012c37..a649cfa 100644 (file)
@@ -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
index ef6cd38..a992f2c 100644 (file)
@@ -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
 /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
 /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
 /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
index 9264a40..fb1cef6 100644 (file)
@@ -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@'