# Bootstrap this package from CVS.
-# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005, 2006 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
echo "$0: Bootstrapping CVS $package..."
-build_cvs_prefix() {
- CVS_PREFIX=:${1}:
- if [ "${2}" != - ]; then
- CVS_PREFIX=${CVS_PREFIX}${2}@
- fi
+cleanup_gnulib() {
+ status=$?
+ rm -fr gnulib
+ exit $status
}
# Get gnulib files.
if [ ! -d gnulib ]; then
echo "$0: getting gnulib files..."
- trap exit 1 2 13 15
- trap 'rm -fr gnulib; exit 1' 0
-
- case ${CVS_AUTH-anoncvs} in
- anoncvs)
- CVS_PREFIX='anoncvs@';;
+ case ${CVS_AUTH-pserver} in
+ pserver)
+ CVS_PREFIX=':pserver:anonymous@';;
ssh)
CVS_PREFIX="$CVS_USER${CVS_USER+@}";;
*)
'') export CVS_RSH=ssh;;
esac
- cvs -z3 -q -d ${CVS_PREFIX}subversions.gnu.org:/cvsroot/gnulib co gnulib || exit
+ trap cleanup_gnulib 1 2 13 15
- trap - 0
+ cvs -z3 -q -d ${CVS_PREFIX}cvs.savannah.gnu.org:/cvsroot/gnulib co gnulib ||
+ cleanup_gnulib
+
+ trap - 1 2 13 15
fi
GNULIB_SRCDIR=gnulib
esac
<$GNULIB_SRCDIR/gnulib-tool || exit
gnulib_modules='
-alloca
argmatch
dirname
error
stdbool
stdio-safer
stpcpy
+strerror
+strtoul
+strverscmp
unistd-safer
+unlocked-io
+verify
xalloc
xalloc-die
xstrndup
cp -p $GNULIB_SRCDIR/$gnulib_file $dest || exit
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 ..."
+sed '
+ /^AC_DEFUN(\[AM_INTL_SUBDIR],/,/^]/c\
+ AC_DEFUN([AM_INTL_SUBDIR], [])
+' m4/gettext.m4 >m4/gettext_gl.m4 || exit
+
# Get translations.
) >m4/gnulib.m4 || exit
(echo '# This file is generated automatically by "bootstrap".' &&
- $GNULIB_SRCDIR/gnulib-tool --extract-automake-snippet $gnulib_modules
+ $GNULIB_SRCDIR/gnulib-tool --extract-automake-snippet $gnulib_modules |
+ sed 's/^[ ]*AM_CPPFLAGS[ ]*+=/# (commented out by bootstrap) &/'
) >lib/gnulib.mk || exit
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 || {
+ rm -f $gnulib_file &&
+ echo "$0: Copying file $GNULIB_SRCDIR/$gnulib_file again" &&
+ cp -p $GNULIB_SRCDIR/$gnulib_file $gnulib_file || 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