bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bison bootstrap fixes for Autoconf 2.60 and latest gnulib


From: Paul Eggert
Subject: Bison bootstrap fixes for Autoconf 2.60 and latest gnulib
Date: Sat, 08 Jul 2006 20:51:26 -0700
User-agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux)

Bison no longer bootstrapped from CVS, so I installed the following
patches to fix this.  Note that the bootstrap procedure now assumes
Autoconf 2.60.  I think you can still run with Autoconf 2.59 if you
copy m4/onceonly.m4 by hand from gnulib, and if you change the '2.60'
to a '2.59' in configure.ac, but I haven't tested this.

You must bootstrap (with a fresh gnulib) after absorbing this patch.

2006-07-08  Paul Eggert  <address@hidden>

        Adjust to Autoconf 2.60 and today's gnulib.
        * bootstrap (gnulib_modules): Add stdint.
        Remove special case for m4/onceonly_2_57.m4, since gnulib-tool
        no longer copies it.
        (intl_files_to_remove): Remove m4/longlong.m4 and m4/wchar_t.m4,
        since stdint needs the former and wcwidth (which is now required
        by mbswidth) needs the latter.
        Append 'datarootdir = @datarootdir@' to po/Makefile.in.in, to
        work around a compatibility glitch between gettext 0.14.6 and
        Autoconf 2.60.
        * configure.ac (AC_PREREQ): Require Autoconf 2.60.
        Do not check for uintptr_t, since new stdint module does the right
        thing.
        * lib/.cvsignore: Remove alloca.c, alloca.h, alloca_.h.
        Add stdint.h, stdint_.h, wcwidth.h.
        * m4/.cvsignore: Remove alloca.m4, onceonly.m4.
        Add absolute-header.m4, double-slash-root.m4, longlong.m4,
        stdint.m4, wchar_t.m4, wcwidth.m4.
        * src/files.c: Include <dirname.h> and <stdio-safer.h> in the
        usual order for ../lib/*.h files.
        (file_name_split): Use last_component, not base_name, to adjust
        to gnulib changes.
        * src/parse-gram.h: Include <strverscmp.h> in the usual order
        for ../lib/*.h files.
        (YYTYPE_INT16, YYTYPE_INT8, YYTYPE_UINT16, YYTYPE_UINT8):
        Define unconditionally, since we now assume the stdint module.
        * src/scan-skel.l: Include <dirname.h>.
        (BASE_QPUTS): Use last_component, not base_name.
        * src/system.h: Include <unlocked-io.h> in the usual order
        for ../lib/*.h files.  Include <stdint.h> unconditionally,
        since we now use the stdint module.
        (uintptr_t): Declare if UINTPTR_MAX is not defined, not
        HAVE_UINTPTR_T, since we now use the stdint module.
        (base_name): Remove decl, since files now include <dirname.h>
        to get the decl.

Index: bootstrap
===================================================================
RCS file: /cvsroot/bison/bison/bootstrap,v
retrieving revision 1.36
diff -p -u -r1.36 bootstrap
--- bootstrap   19 Jun 2006 20:33:13 -0000      1.36
+++ bootstrap   9 Jul 2006 03:44:19 -0000
@@ -109,6 +109,7 @@ quote
 quotearg
 stdbool
 stdio-safer
+stdint
 stpcpy
 strerror
 strtoul
@@ -145,7 +146,6 @@ for gnulib_file in $gnulib_files; do
   dest=$gnulib_file
 
   case $gnulib_file in
-  m4/onceonly_2_57.m4) dest=m4/onceonly.m4;;
   # These will be overwritten by autopoint, which still uses
   # old jm_.* macro names, so we have to keep both copies.
   # m4/gettext.m4 isn't mentioned here, since it's patched below.
@@ -261,7 +261,6 @@ intl_files_to_remove='
   m4/lib-ld.m4
   m4/lib-prefix.m4
   m4/longdouble.m4
-  m4/longlong.m4
   m4/po.m4
   m4/printf-posix.m4
   m4/signed.m4
@@ -269,7 +268,6 @@ intl_files_to_remove='
   m4/stdint_h.m4
   m4/uintmax_t.m4
   m4/ulonglong.m4
-  m4/wchar_t.m4
   m4/wint_t.m4
   m4/xsize.m4
 '
@@ -296,6 +294,12 @@ sed '
   s/^\(XGETTEXT_OPTIONS\) *=.*/\1 = --keyword=YY_/
 ' <po/Makevars >runtime-po/Makevars
 
+# Append 'datarootdir = $(prefix)/share' to po/Makefile.in.in to work
+# around an incompatibility between Autoconf 2.60 and gettext 0.14.6.
+# This hack can be removed once we assume gettext 0.15 or later.
+grep datarootdir po/Makefile.in.in >/dev/null ||
+  echo 'datarootdir = @datarootdir@' >>po/Makefile.in.in
+
 # Copy identical files from po to runtime-po.
 (cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po)
 
Index: configure.ac
===================================================================
RCS file: /cvsroot/bison/bison/configure.ac,v
retrieving revision 1.68
diff -p -u -r1.68 configure.ac
--- configure.ac        6 Jun 2006 05:23:44 -0000       1.68
+++ configure.ac        9 Jul 2006 03:44:19 -0000
@@ -18,11 +18,8 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 # 02110-1301  USA
 
-# This file uses AC_CONFIG_MACRO_DIR, so we need Autoconf 2.58 or better.
-# But Autoconf 2.58 has a bug in the way that it generates tests: it
-# puts the wrong absolute path names in the tests.  So we need at
-# least Autoconf 2.59.
-AC_PREREQ(2.59)
+# We use macros like AC_CHECK_HEADERS_ONCE, so we need Autoconf 2.60 or better.
+AC_PREREQ(2.60)
 
 AC_INIT([GNU Bison], [2.3+], address@hidden)
 AC_CONFIG_AUX_DIR([build-aux])
@@ -98,9 +95,6 @@ AM_STDBOOL_H
 # Checks for compiler characteristics.
 AC_C_INLINE
 
-# Checks for types.
-AC_CHECK_TYPES([uintptr_t])
-
 # Checks for library functions.
 AC_CHECK_FUNCS_ONCE([setlocale])
 AM_WITH_DMALLOC
Index: lib/.cvsignore
===================================================================
RCS file: /cvsroot/bison/bison/lib/.cvsignore,v
retrieving revision 1.18
diff -p -u -r1.18 .cvsignore
--- lib/.cvsignore      2 Oct 2005 18:49:15 -0000       1.18
+++ lib/.cvsignore      9 Jul 2006 03:44:19 -0000
@@ -1,9 +1,6 @@
 .deps
 Makefile
 Makefile.in
-alloca.c
-alloca.h
-alloca_.h
 argmatch.c
 argmatch.h
 basename.c
@@ -40,6 +37,8 @@ quotearg.c
 quotearg.h
 stdbool.h
 stdbool_.h
+stdint.h
+stdint_.h
 stdio--.h
 stdio-safer.h
 stpcpy.c
@@ -60,6 +59,7 @@ unistd--.h
 unistd-safer.h
 unlocked-io.h
 verify.h
+wcwidth.h
 xalloc-die.c
 xalloc.h
 xmalloc.c
Index: m4/.cvsignore
===================================================================
RCS file: /cvsroot/bison/bison/m4/.cvsignore,v
retrieving revision 1.16
diff -p -u -r1.16 .cvsignore
--- m4/.cvsignore       8 Mar 2006 19:45:10 -0000       1.16
+++ m4/.cvsignore       9 Jul 2006 03:44:19 -0000
@@ -1,7 +1,8 @@
 *_gl.m4
-alloca.m4
+absolute-header.m4
 dirname.m4
 dos.m4
+double-slash-root.m4
 error.m4
 exitfail.m4
 extensions.m4
@@ -11,16 +12,17 @@ hard-locale.m4
 hash.m4
 iconv.m4
 lib-link.m4
+longlong.m4
 mbrtowc.m4
 mbstate_t.m4
 mbswidth.m4
 nls.m4
 obstack.m4
-onceonly.m4
 progtest.m4
 quote.m4
 quotearg.m4
 stdbool.m4
+stdint.m4
 stdio-safer.m4
 stpcpy.m4
 strdup.m4
@@ -34,5 +36,7 @@ strverscmp.m4
 unistd-safer.m4
 unistd_h.m4
 unlocked-io.m4
+wchar_t.m4
+wcwidth.m4
 xalloc.m4
 xstrndup.m4
Index: src/files.c
===================================================================
RCS file: /cvsroot/bison/bison/src/files.c,v
retrieving revision 1.95
diff -p -u -r1.95 files.c
--- src/files.c 14 Jan 2006 06:36:04 -0000      1.95
+++ src/files.c 9 Jul 2006 03:44:19 -0000
@@ -1,7 +1,7 @@
 /* Open and close files for Bison.
 
-   Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002, 2003, 2004, 2005
-   Free Software Foundation, Inc.
+   Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002, 2003, 2004,
+   2005, 2006 Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
 
@@ -24,16 +24,16 @@
 #include "system.h"
 
 #include <error.h>
+#include <dirname.h>
 #include <get-errno.h>
 #include <quote.h>
+#include <stdio-safer.h>
 #include <xstrndup.h>
 
 #include "complain.h"
-#include "dirname.h"
 #include "files.h"
 #include "getargs.h"
 #include "gram.h"
-#include "stdio-safer.h"
 
 struct obstack pre_prologue_obstack;
 struct obstack post_prologue_obstack;
@@ -208,7 +208,7 @@ static void
 file_name_split (const char *file_name,
                 const char **base, const char **tab, const char **ext)
 {
-  *base = base_name (file_name);
+  *base = last_component (file_name);
 
   /* Look for the extension, i.e., look for the last dot. */
   *ext = strrchr (*base, '.');
Index: src/parse-gram.y
===================================================================
RCS file: /cvsroot/bison/bison/src/parse-gram.y,v
retrieving revision 1.83
diff -p -u -r1.83 parse-gram.y
--- src/parse-gram.y    8 Jul 2006 00:02:04 -0000       1.83
+++ src/parse-gram.y    9 Jul 2006 03:44:19 -0000
@@ -23,6 +23,8 @@
 #include <config.h>
 #include "system.h"
 
+#include <strverscmp.h>
+
 #include "complain.h"
 #include "conflicts.h"
 #include "files.h"
@@ -34,7 +36,6 @@
 #include "symlist.h"
 #include "scan-gram.h"
 #include "scan-code.h"
-#include "strverscmp.h"
 
 #define YYLLOC_DEFAULT(Current, Rhs, N)  (Current) = lloc_default (Rhs, N)
 static YYLTYPE lloc_default (YYLTYPE const *, int);
@@ -61,18 +62,10 @@ static symbol *current_lhs;
 static location current_lhs_location;
 static int current_prec = 0;
 
-#ifdef UINT_FAST8_MAX
-# define YYTYPE_UINT8 uint_fast8_t
-#endif
-#ifdef INT_FAST8_MAX
-# define YYTYPE_INT8 int_fast8_t
-#endif
-#ifdef UINT_FAST16_MAX
-# define YYTYPE_UINT16 uint_fast16_t
-#endif
-#ifdef INT_FAST16_MAX
-# define YYTYPE_INT16 int_fast16_t
-#endif
+#define YYTYPE_INT16 int_fast16_t
+#define YYTYPE_INT8 int_fast8_t
+#define YYTYPE_UINT16 uint_fast16_t
+#define YYTYPE_UINT8 uint_fast8_t
 %}
 
 %debug
Index: src/scan-skel.l
===================================================================
RCS file: /cvsroot/bison/bison/src/scan-skel.l,v
retrieving revision 1.39
diff -p -u -r1.39 scan-skel.l
--- src/scan-skel.l     22 Jan 2006 08:17:18 -0000      1.39
+++ src/scan-skel.l     9 Jul 2006 03:44:19 -0000
@@ -31,6 +31,7 @@
 
 #include "system.h"
 
+#include <dirname.h>
 #include <error.h>
 #include <quotearg.h>
 
@@ -57,7 +58,7 @@ int skel_lex_destroy (void);
    fputs (quotearg_style (c_quoting_style, String), yyout)
 
 #define BASE_QPUTS(File) \
-   QPUTS (base_name (File))
+   QPUTS (last_component (File))
 
 %}
 %%
Index: src/system.h
===================================================================
RCS file: /cvsroot/bison/bison/src/system.h,v
retrieving revision 1.77
diff -p -u -r1.77 system.h
--- src/system.h        6 Jun 2006 16:40:06 -0000       1.77
+++ src/system.h        9 Jul 2006 03:44:19 -0000
@@ -41,8 +41,6 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "unlocked-io.h"
-
 #if HAVE_SYS_TYPES_H
 # include <sys/types.h>
 #endif
@@ -54,28 +52,24 @@
 #if HAVE_INTTYPES_H
 # include <inttypes.h>
 #endif
-#if HAVE_STDINT_H
-# include <stdint.h>
-#endif
 
-#if ! HAVE_UINTPTR_T
+#include <stdint.h>
+
+#ifndef UINTPTR_MAX
 /* This isn't perfect, but it's good enough for Bison, which needs
    only to hash pointers.  */
 typedef size_t uintptr_t;
 #endif
 
-#include <verify.h>
-#include <xalloc.h>
 
-
-/*---------------------.
-| Missing prototypes.  |
-`---------------------*/
+/*---------.
+| Gnulib.  |
+`---------*/
 
 #include <stpcpy.h>
-
-/* From lib/basename.c. */
-char *base_name (char const *name);
+#include <unlocked-io.h>
+#include <verify.h>
+#include <xalloc.h>
 
 
 /*-----------------.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]