[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Bison changes to port to latest gettext, gnulib
From: |
Paul Eggert |
Subject: |
Bison changes to port to latest gettext, gnulib |
Date: |
Mon, 24 Jul 2006 23:51:56 -0700 |
User-agent: |
Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux) |
Bison wouldn't build with the latest version of gettext and gnulib, so
I installed the following patches. I haven't tested whether it builds
with older gettext versions; if someone wants to keep it portable
among older versions too please feel free.
You need to re-bootstrap after incorporating these changes.
2006-07-24 Paul Eggert <address@hidden>
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.
Index: bootstrap
===================================================================
RCS file: /cvsroot/bison/bison/bootstrap,v
retrieving revision 1.38
diff -p -u -r1.38 bootstrap
--- bootstrap 20 Jul 2006 16:55:12 -0000 1.38
+++ bootstrap 25 Jul 2006 06:42:45 -0000
@@ -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_
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/=.*/= address@hidden/'
po/Makevars.template >po/Makevars ..."
sed '/^MSGID_BUGS_ADDRESS *=/s/=.*/= address@hidden/' po/Makevars.template
>po/Makevars
@@ -295,12 +296,6 @@ 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.69
diff -p -u -r1.69 configure.ac
--- configure.ac 9 Jul 2006 03:44:51 -0000 1.69
+++ configure.ac 25 Jul 2006 06:42:45 -0000
@@ -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.
Index: lib/.cvsignore
===================================================================
RCS file: /cvsroot/bison/bison/lib/.cvsignore,v
retrieving revision 1.19
diff -p -u -r1.19 .cvsignore
--- lib/.cvsignore 9 Jul 2006 03:44:51 -0000 1.19
+++ lib/.cvsignore 25 Jul 2006 06:42:45 -0000
@@ -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
Index: m4/.cvsignore
===================================================================
RCS file: /cvsroot/bison/bison/m4/.cvsignore,v
retrieving revision 1.17
diff -p -u -r1.17 .cvsignore
--- m4/.cvsignore 9 Jul 2006 03:44:51 -0000 1.17
+++ m4/.cvsignore 25 Jul 2006 06:42:45 -0000
@@ -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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Bison changes to port to latest gettext, gnulib,
Paul Eggert <=