Add --quiet option to lwptool 94/13594/2
authorAndrew Deason <adeason@dson.org>
Wed, 15 May 2019 19:35:41 +0000 (14:35 -0500)
committerBenjamin Kaduk <kaduk@mit.edu>
Fri, 7 Jun 2019 07:06:26 +0000 (03:06 -0400)
Add an option to lwptool, called --quiet, to suppress printing the
literal commands run. On error, we still print the exact failed
command to stderr.

For "pretty" V=0 builds, use this new option, to make our
lwptool-using compile rules look more like our other compile rules.

Change-Id: I3fed6db3205f8de5e275e9b70aba9e1995afd02f
Reviewed-on: https://gerrit.openafs.org/13594
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

src/config/Makefile.config.in
src/config/lwptool

index f29d64d..ed4a5c5 100644 (file)
@@ -158,7 +158,9 @@ COMPILE_ET = @COMPILE_ET_PATH@
 CONFIGTOOL = @CONFIGTOOL_PATH@
 RXGEN = @RXGEN_PATH@
 SHELL = @SHELL@
-LWPTOOL = ${TOP_SRCDIR}/config/lwptool
+
+LWPTOOL_FLAGS_V0 = --quiet
+LWPTOOL = ${TOP_SRCDIR}/config/lwptool $(LWPTOOL_FLAGS_V$(V))
 
 #
 # "Pretty" build line stuff
index 2cb55e6..3604611 100755 (executable)
@@ -11,6 +11,7 @@ ranlib=
 mode=
 object=
 done=
+quiet=
 
 while [ -z "$done" ] && [ $# -gt 0 ] ; do
     case "$1" in
@@ -39,6 +40,10 @@ while [ -z "$done" ] && [ $# -gt 0 ] ; do
        ranlib="$1"
        shift
        ;;
+    --quiet)
+       shift
+       quiet="1"
+       ;;
     -o)
        shift
        object="$1"
@@ -55,6 +60,18 @@ while [ -z "$done" ] && [ $# -gt 0 ] ; do
     esac
 done
 
+_run_cmd() {
+    if [ x"$quiet" != x1 ] ; then
+       echo "$@"
+    fi
+    if "$@" ; then
+       :
+    else
+       echo "FAILED LWPTOOL COMMAND: $@" >&2
+       exit 1
+    fi
+}
+
 case "$mode" in
 compile)
     if [ -z "$object" ] || [ -z "$lwpcc" ] || \
@@ -69,10 +86,8 @@ compile)
     lwpobj=".lwp/$lwpobj"
 
     mkdir .lwp 2>/dev/null
-    echo $lwpcc -o $lwpobj "$@"
-    $lwpcc -o $lwpobj "$@" || exit 1
-    echo $mtcc -o $object "$@"
-    $mtcc -o $object "$@" || exit 1
+    _run_cmd $lwpcc -o $lwpobj "$@"
+    _run_cmd $mtcc -o $object "$@"
     ;;
 link)
     if [ -z "$object" ] || [ -z "$linker" ] || \
@@ -95,9 +110,7 @@ link)
     done
 
     rm -f $object 2>/dev/null
-    echo $linker $object $objects
-    $linker $object $objects
-    echo $ranlib $object
-    $ranlib $object
+    _run_cmd $linker $object $objects
+    _run_cmd $ranlib $object
     ;;
 esac