# If the first parameter is --list, a list of the generated files and
# their dependencies will be printed; --help prints this message.
#
+# If the first parameter is --silent, this script prints nothing other
+# than error messages; the second parameter is then interpreted as above.
+#
# Examples:
#
# contrib/gcc_update -r gcc_latest_snapshot
# contrib/gcc_update --list
#
#
-# (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation
+# (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation
# Originally by Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>, August 1998.
#
# This script is Free Software, and it can be copied, distributed and
# Arrange for the value of $0 to be available for functions
self=$0
+# This function prints its arguments to standard output unless
+# "silent" is set.
+silent=
+chat () {
+ if [ -z "$silent" ]; then
+ echo "$@"
+ fi
+}
+
# This function prints a list of all generated files, along with their
# dependencies. Note that only one target is supported per line: the
# colon is stripped from the output.
echo ':' >> Makefile.$$
echo ' @for f in $? $@; do test -f $$f || exit 0; done; \' >> Makefile.$$
echo ' echo Touching $@...; \' >> Makefile.$$
- echo ' echo Touching $@... 1>&2; \' >> Makefile.$$
+ chat ' echo Touching $@... 1>&2; \' >> Makefile.$$
echo ' touch $@' >> Makefile.$$
files_and_dependencies | sed 's,[^ ]* ,,;s,$, :,' >> Makefile.$$
# this script. By re-execing it, we ensure that the appropriate
# dependencies and rules will be used.
touch_files_reexec () {
- echo "Adjusting file timestamps"
- exec ${CONFIG_SHELL-/bin/sh} $self --touch
+ chat "Adjusting file timestamps"
+ exec ${CONFIG_SHELL-/bin/sh} $self ${silent+"--silent"} --touch
}
# This functions applies a patch to an existing tree.
exit
fi
+case "$1" in
+--silent)
+ silent=t
+ shift
+ ;;
+esac
+
case "$1" in
# First of all, check whether we are going to process a patch.
--patch)
set -- $UPDATE_OPTIONS ${1+"$@"}
fi
-echo "Updating CVS tree"
-$GCC_CVS -q update ${1+"$@"}
+chat "Updating CVS tree"
+
+$GCC_CVS -q ${silent+-Q} update ${1+"$@"}
if [ $? -ne 0 ]; then
(touch_files_reexec)
echo "CVS update of full tree failed." >&2