contrib/gcc_update: silent mode

Zack Weinberg zack@codesourcery.com
Fri Mar 18 12:07:00 GMT 2005


This patch adds a command-line option --silent to contrib/gcc_update,
which makes it not print any of its chatty messages.  (Errors are
still printed.)  This is nice for daily cron jobs, e.g.

zw

===================================================================
Index: gcc_update
--- gcc_update	20 Nov 2004 10:49:16 -0000	1.79
+++ gcc_update	18 Mar 2005 11:40:45 -0000
@@ -19,6 +19,9 @@
 # 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
@@ -29,7 +32,7 @@
 # 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
@@ -51,6 +54,15 @@ UPDATE_OPTIONS=-Pd
 # 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.
@@ -125,7 +137,7 @@ touch_files () {
     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.$$
 
@@ -148,8 +160,8 @@ touch_files () {
 # 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.
@@ -175,6 +187,13 @@ if [ ! -f gcc/version.c ]; then
 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)
     if test "$#" != 2; then
@@ -228,8 +247,9 @@ else
     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



More information about the Gcc-patches mailing list