blob: c2cf2c9deb5cb7327085c6e72a4a93b40f6b34b3 [file] [log] [blame]
#! /bin/sh
# Update a local CVS tree from the egcs repository, with an emphasis
# on treating generated files correctly, so that autoconf, bison et
# al are not required for the ``end'' user.
# By default all command-line options are passed to `cvs update` in
# addition to $UPDATE_OPTIONS (defined below). If the first parameter
# reads --nostdflags, $UPDATE_OPTIONS as well as this parameter itself
# are omitted.
# Examples:
# contrib/egcs_update -r egcs_latest_snapshot
# contrib/egcs_update -A
# contrib/egcs_update --nostdflags -P -r egcs_1_1_branch gcc/testsuite
# (C) 1998 Free Software Foundation
# Originally by Gerald Pfeifer <>, August 1998.
# This script is Free Software, and it can be copied, distributed and
# modified as defined in the GNU General Public License. A copy of
# its license can be downloaded from
# Add -d to create any directories that exist in the repository but not
# locally.
# Add -A to reset any sticky tags, dates, or `-k' options.
echo "Current directory is `pwd`."
# First of all, check whether this indeed looks like a local CVS of egcs.
if [ ! -d CVS ] || [ ! -f gcc/version.c ]; then
echo "This does not seem to be an egcs CVS tree!"
# Check command-line options
if [ x"${1}"x = x"--nostdflags"x ]; then
set -- $UPDATE_OPTIONS ${1+"$@"}
echo "Pass 1: Updating autoconf and bison generated files"
find . -name -o -name '*.y' | xargs cvs -q update
echo "Pass 2: Updating full tree"
cvs -q update ${1+"$@"}
echo "Pass 3: Fixing local tree"
touch `find . -name configure -print`
touch `find texinfo -name -print`
touch `find texinfo -name \*.pot -print`
touch `find texinfo -name \*.gmo -print`
for f in gcc/c-parse.y \
gcc/ \
gcc/c-gperf.h \
gcc/c-parse.c \
gcc/c-parse.h \
gcc/cexp.c \
gcc/cp/parse.c \
gcc/cp/parse.h \
gcc/objc/objc-parse.c \
gcc/objc/objc-parse.y \
touch $f