The LIBVIRT_RESULT function takes two or three arguments. The first one is the name of the result (aka CHECK_NAME). It is printed before the colon character. The rest of the arguments is printed after the character. To produce colourized output a couple of changes needs to be made. Firstly, we need to print the CHECK_NAME using "echo -n" so that the new line is not appended at the end of the message. To achieve this, AS_MESSAGE_N function is introduced. It's a verbatim copy of AS_MESSAGE (which is just another alias to AC_MSG_NOTICE) except it doesn't put '\n' at the EOL. The alias is defined at /usr/share/autoconf-*/autoconf/general.m4 and the AS_MESSAGE is then defined at /usr/share/autoconf-2.69/m4sugar/m4sh.m4. Secondly, the rest of the arguments are printed colourized and to achieve that and also keep printing them into the log file the _AS_ECHO and COLORIZE_RESULT functions need to be called. Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> --- m4/virt-result.m4 | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/m4/virt-result.m4 b/m4/virt-result.m4 index 36973ba0b5..9115be5774 100644 --- a/m4/virt-result.m4 +++ b/m4/virt-result.m4 @@ -31,12 +31,27 @@ dnl eg dnl dnl LIBVIRT_RESULT([yajl], [yes], [-I/opt/yajl/include -lyajl]) dnl + +m4_defun_init([_AS_ECHO_LOG_N], +[AS_REQUIRE([_AS_LINENO_PREPARE])], +[_AS_ECHO_N([$as_me:${as_lineno-$LINENO}: $1], AS_MESSAGE_LOG_FD)]) + +m4_defun_init([AS_MESSAGE_N], +[AS_REQUIRE([_AS_ME_PREPARE])], +[m4_ifval(AS_MESSAGE_LOG_FD, + [{ _AS_ECHO_LOG_N([$1]) +_AS_ECHO_N([$as_me: $1], [$2]);}], + [_AS_ECHO_N([$as_me: $1], [$2])])[]]) + AC_DEFUN([LIBVIRT_RESULT], [ + STR=`printf "%20s: " "$1"` if test "$2" = "no" || test -z "$3" ; then - STR=`printf "%20s: %s" "$1" "$2"` + VAL=`printf "%s" "$2"` else - STR=`printf "%20s: %s (%s)" "$1" "$2" "$3"` + VAL=`printf "%s (%s)" "$2" "$3"` fi - AC_MSG_NOTICE([$STR]) + AS_MESSAGE_N([$STR]) + _AS_ECHO([$VAL], AS_MESSAGE_LOG_FD) + COLORIZE_RESULT([$VAL]) ]) -- 2.21.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list