From 62a9592d3d3149aae90533a685f9a8a35cd630f5 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 25 Jul 2006 06:45:06 +0000 Subject: [PATCH] Update to latest gnulib and gettext versions. * bootstrap (gnulib-modules): Remove hard-locale, stdio-safer. Add fopen-safer. (gnulib_files): Add m4/warning.m4. Don't worry about files overwritten by autopoint. Replace gt_INTL_SUBDIR_CORE with an empty body in m4/gettext_gl.m4. Suppress "id", "ms", "tr" translations for now, since gettext 0.15 rejects them. Don't use autoreconf; instead, invoke autopoint etc. by hand, so that we can remove the intl files at a better time. (intl_files_to_remove): Remove aclocal.m4, since it gets rebuilt anyway. Remove m4/inttypes_h.m4, m4/inttypes.m4, m4/isc-posix.m4, m4/lib-ld.m4, m4/lib-prefix.m4, m4/po.m4, m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4. Add m4/inttypes-h.m4, m4/lock.m4, m4/visibility.m4. Remove datarootdir hack; no longer needed. * configure.ac: Use gl_WARNING_CFLAGS rather than BISON_WARNING. (AM_GNU_GETTEXT_VERSION): Bump from 0.12 to 0.15. * lib/.cvsignore: Remove hard-locale.c, hard-locale.h, strdup.c, strdup.h. * m4/.cvsignore: Remove hard-locale.m4, strdup.m4. * m4/warning.m4: Remove from CVS, since we now use gnulib's version. --- ChangeLog | 25 ++++++++++++++++++ bootstrap | 69 +++++++++++++++++++++++--------------------------- configure.ac | 28 ++++++++++---------- lib/.cvsignore | 4 --- m4/.cvsignore | 2 -- m4/warning.m4 | 32 ----------------------- 6 files changed, 71 insertions(+), 89 deletions(-) delete mode 100644 m4/warning.m4 diff --git a/ChangeLog b/ChangeLog index 94cf4d87..6880017d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,28 @@ +2006-07-24 Paul Eggert + + Update to latest gnulib and gettext versions. + * bootstrap (gnulib-modules): Remove hard-locale, stdio-safer. + Add fopen-safer. + (gnulib_files): Add m4/warning.m4. Don't worry about files + overwritten by autopoint. + Replace gt_INTL_SUBDIR_CORE with an empty body in m4/gettext_gl.m4. + Suppress "id", "ms", "tr" translations for now, since gettext 0.15 + rejects them. + Don't use autoreconf; instead, invoke autopoint etc. by hand, + so that we can remove the intl files at a better time. + (intl_files_to_remove): Remove aclocal.m4, since it gets + rebuilt anyway. Remove m4/inttypes_h.m4, m4/inttypes.m4, + m4/isc-posix.m4, m4/lib-ld.m4, m4/lib-prefix.m4, m4/po.m4, + m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4. + Add m4/inttypes-h.m4, m4/lock.m4, m4/visibility.m4. + Remove datarootdir hack; no longer needed. + * configure.ac: Use gl_WARNING_CFLAGS rather than BISON_WARNING. + (AM_GNU_GETTEXT_VERSION): Bump from 0.12 to 0.15. + * lib/.cvsignore: Remove hard-locale.c, hard-locale.h, strdup.c, + strdup.h. + * m4/.cvsignore: Remove hard-locale.m4, strdup.m4. + * m4/warning.m4: Remove from CVS, since we now use gnulib's version. + 2006-07-20 Paul Eggert * bootstrap: Adjust to today's change to gnulib-tool by invoking diff --git a/bootstrap b/bootstrap index e0de221a..4648a608 100755 --- a/bootstrap +++ b/bootstrap @@ -26,8 +26,7 @@ package=bison # Translation Project URL, for the registry of all projects. TP_URL='http://www.iro.umontreal.ca/translation/registry.cgi?domain=' -# Ensure file names are sorted consistently across platforms; -# e.g., m4/ulonglong_gl.m4 should follow m4/ulonglong.m4. +# Ensure file names are sorted consistently across platforms. # Also, ensure diagnostics are in English, e.g., "wget --help" below. LC_ALL=C export LC_ALL @@ -99,9 +98,9 @@ argmatch dirname error extensions +fopen-safer getopt gettext -hard-locale hash malloc mbswidth @@ -109,7 +108,6 @@ obstack quote quotearg stdbool -stdio-safer stdint stpcpy strerror @@ -135,7 +133,8 @@ while [ "$gnulib_modules" != "$previous_gnulib_modules" ]; do done gnulib_files=` - (for gnulib_module in $gnulib_modules; do + (echo m4/warning.m4 + for gnulib_module in $gnulib_modules; do $gnulib_tool --extract-filelist $gnulib_module done) | sort -u ` @@ -145,17 +144,6 @@ mkdir -p $gnulib_dirs || exit for gnulib_file in $gnulib_files; do dest=$gnulib_file - - case $gnulib_file in - # 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. - m4/glibc21.m4 | m4/inttypes_h.m4 | m4/lib-ld.m4 | \ - m4/lib-prefix.m4 | m4/po.m4 | m4/stdint_h.m4 | m4/uintmax_t.m4 | \ - m4/ulonglong.m4) - dest=`expr $gnulib_file : '\(.*\).m4'`_gl.m4;; - esac - rm -f $dest && echo "$0: Copying file $GNULIB_SRCDIR/$gnulib_file" && cp -p $GNULIB_SRCDIR/$gnulib_file $dest || exit @@ -163,10 +151,12 @@ done # This suppresses a bogus diagnostic # "warning: macro `AM_LANGINFO_CODESET' not found in library". -echo "$0: patching m4/gettext.m4 so that AM_INTL_SUBDIR is empty ..." +echo "$0: patching m4/gettext.m4 to remove need for intl/* ..." sed ' /^AC_DEFUN(\[AM_INTL_SUBDIR],/,/^]/c\ AC_DEFUN([AM_INTL_SUBDIR], []) + /^AC_DEFUN(\[gt_INTL_SUBDIR_CORE],/,/^]/c\ + AC_DEFUN([gt_INTL_SUBDIR_CORE], []) ' m4/gettext.m4 >m4/gettext_gl.m4 || exit @@ -190,6 +180,11 @@ get_translations() { ' | awk -v domain="$domain" -v subdir="$subdir" ' { lang = $1 + + # Work around bugs in Bison 2.3 translations uncovered by gettext 0.15. + # This workaround can be removed once the translations are fixed. + if (lang == "id" || lang == "ms" || lang == "tr") next + ver = $2 urlfmt = "" printf "$WGET_COMMAND -O %s/%s.po 'http://www.iro.umontreal.ca/translation/teams/PO/%s/%s-%s.%s.po' &&\n", subdir, lang, lang, domain, ver, lang @@ -239,14 +234,11 @@ esac # Reconfigure, getting other files. -echo "$0: autoreconf --verbose --install --force ..." -autoreconf --verbose --install --force || exit - +echo "$0: autopoint --force ..." +autopoint --force # We don't need intl, so remove it. -# Remove aclocal.m4 too, so that it gets rebuilt. intl_files_to_remove=' - aclocal.m4 intl m4/codeset.m4 m4/gettext.m4 @@ -254,27 +246,22 @@ intl_files_to_remove=' m4/glibc21.m4 m4/intdiv0.m4 m4/intmax.m4 - m4/inttypes_h.m4 - m4/inttypes.m4 + m4/inttypes-h.m4 m4/inttypes-pri.m4 - m4/isc-posix.m4 m4/lcmessage.m4 - m4/lib-ld.m4 - m4/lib-prefix.m4 + m4/lock.m4 m4/longdouble.m4 - m4/po.m4 m4/printf-posix.m4 m4/signed.m4 m4/size_max.m4 - m4/stdint_h.m4 - m4/uintmax_t.m4 - m4/ulonglong.m4 + m4/visibility.m4 m4/wint_t.m4 m4/xsize.m4 ' echo $0: rm -fr $intl_files_to_remove ... rm -fr $intl_files_to_remove || exit + # Undo changes to gnulib files that autoreconf made. for gnulib_file in $gnulib_files; do test ! -f $gnulib_file || cmp -s $gnulib_file $GNULIB_SRCDIR/$gnulib_file || { @@ -284,6 +271,20 @@ for gnulib_file in $gnulib_files; do } done +# Make sure aclocal.m4 is not older than input files. +sleep 1 + +for command in \ + 'aclocal --force -I m4' \ + 'autoconf --force' \ + 'autoheader --force' \ + 'automake --add-missing --copy --force-missing'; +do + echo "$0: $command ..." + $command || exit +done + + # Put bug-reporting address into po/Makevars. echo "$0: sed '/^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-bison@gnu.org/' po/Makevars.template >po/Makevars ..." sed '/^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-bison@gnu.org/' po/Makevars.template >po/Makevars @@ -295,12 +296,6 @@ sed ' s/^\(XGETTEXT_OPTIONS\) *=.*/\1 = --keyword=YY_/ ' 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) diff --git a/configure.ac b/configure.ac index eafa6c37..e89f9e64 100644 --- a/configure.ac +++ b/configure.ac @@ -42,22 +42,22 @@ AC_ARG_ENABLE(gcc-warnings, esac], [enableval=no]) if test "${enableval}" = yes; then - BISON_WARNING(-Werror) + gl_WARNING_CFLAGS([-Werror]) AC_SUBST([WERROR_CFLAGS], [$WARNING_CFLAGS]) WARNING_CFLAGS= - BISON_WARNING(-W) - BISON_WARNING(-Wall) - BISON_WARNING(-Wcast-align) - BISON_WARNING(-Wcast-qual) - BISON_WARNING(-Wformat) - BISON_WARNING(-Wwrite-strings) + gl_WARNING_CFLAGS([-W]) + gl_WARNING_CFLAGS([-Wall]) + gl_WARNING_CFLAGS([-Wcast-align]) + gl_WARNING_CFLAGS([-Wcast-qual]) + gl_WARNING_CFLAGS([-Wformat]) + gl_WARNING_CFLAGS([-Wwrite-strings]) AC_SUBST([WARNING_CXXFLAGS], [$WARNING_CFLAGS]) # The following warnings are not suitable for C++. - BISON_WARNING(-Wbad-function-cast) - BISON_WARNING(-Wmissing-declarations) - BISON_WARNING(-Wmissing-prototypes) - BISON_WARNING(-Wshadow) - BISON_WARNING(-Wstrict-prototypes) + gl_WARNING_CFLAGS([-Wbad-function-cast]) + gl_WARNING_CFLAGS([-Wmissing-declarations]) + gl_WARNING_CFLAGS([-Wmissing-prototypes]) + gl_WARNING_CFLAGS([-Wshadow]) + gl_WARNING_CFLAGS([-Wstrict-prototypes]) AC_DEFINE([lint], 1, [Define to 1 if the compiler is checking for lint.]) fi @@ -103,8 +103,8 @@ BISON_PREREQ_TIMEVAR # gnulib and gettext. GNULIB_AUTOCONF_SNIPPET -# We use po/Makevars, so we need at least gettext 0.12. -AM_GNU_GETTEXT_VERSION([0.12]) +# We've never tested with gettext versions before 0.15, so play it safe. +AM_GNU_GETTEXT_VERSION([0.15]) BISON_I18N # Internationalized parsers. diff --git a/lib/.cvsignore b/lib/.cvsignore index da928127..a9280efe 100644 --- a/lib/.cvsignore +++ b/lib/.cvsignore @@ -21,8 +21,6 @@ getopt_.h getopt_int.h gettext.h gnulib.mk -hard-locale.c -hard-locale.h hash.c hash.h malloc.c @@ -43,8 +41,6 @@ stdio--.h stdio-safer.h stpcpy.c stpcpy.h -strdup.c -strdup.h strerror.c stripslash.c strndup.c diff --git a/m4/.cvsignore b/m4/.cvsignore index 301fd04e..a6376f40 100644 --- a/m4/.cvsignore +++ b/m4/.cvsignore @@ -8,7 +8,6 @@ exitfail.m4 extensions.m4 getopt.m4 gnulib.m4 -hard-locale.m4 hash.m4 iconv.m4 lib-link.m4 @@ -25,7 +24,6 @@ stdbool.m4 stdint.m4 stdio-safer.m4 stpcpy.m4 -strdup.m4 strerror.m4 strerror_r.m4 strndup.m4 diff --git a/m4/warning.m4 b/m4/warning.m4 deleted file mode 100644 index fe39bec1..00000000 --- a/m4/warning.m4 +++ /dev/null @@ -1,32 +0,0 @@ -# Finding valid warning flags for the C Compiler. -*-Autoconf-*- -# -# Copyright (C) 2001, 2002 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301 USA - -# serial 1 - -AC_DEFUN([BISON_WARNING], -[AC_MSG_CHECKING(whether compiler accepts $1) -AC_SUBST(WARNING_CFLAGS) -ac_save_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS $1" -AC_TRY_COMPILE(, -[int x;], -WARNING_CFLAGS="$WARNING_CFLAGS $1" -AC_MSG_RESULT(yes), -AC_MSG_RESULT(no)) -CFLAGS="$ac_save_CFLAGS"]) -- 2.45.2