diff --git a/Makefile.in b/Makefile.in index 8cdc16cfc8..73f6da524f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -307,7 +307,7 @@ reconfig config.status: $(srcdir)/$(CONFIGURE) $(srcdir)/enc/Makefile.in \ @PWD= MINIRUBY="$(MINIRUBY)"; export MINIRUBY; \ set $(SHELL) $($@-args); $(reconfig-exec-$(V)) -$(srcdir)/$(CONFIGURE): $(srcdir)/configure.in +$(srcdir)/$(CONFIGURE): $(srcdir)/configure.in $(srcdir)/aclocal.m4 $(CHDIR) $(srcdir) && exec $(AUTOCONF) -o $(@F) incs: id.h diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 0000000000..c1bdcbc93c --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,46 @@ +# -*- autoconf -*- + +AC_DEFUN([_COLORIZE_RESULT_PREPARE], [ + msg_checking= msg_result_yes= msg_result_no= msg_result_other= msg_reset= + AS_IF([test -t], [ + msg_begin="`tput smso 2>/dev/null`" + AS_CASE(["$msg_begin"], ['@<:@'*m], + [msg_begin="`echo "$msg_begin" | sed ['s/[0-9]*m$//']`" + msg_checking="${msg_begin}33m" + AS_IF([test ${TEST_COLORS:+set}], [ + msg_result_yes=[`expr ":$TEST_COLORS:" : ".*:pass=\([^:]*\):"`] + msg_result_no=[`expr ":$TEST_COLORS:" : ".*:fail=\([^:]*\):"`] + msg_result_other=[`expr ":$TEST_COLORS:" : ".*:skip=\([^:]*\):"`] + ]) + msg_result_yes="${msg_begin}${msg_result_yes:-32;1}m" + msg_result_no="${msg_begin}${msg_result_no:-31;1}m" + msg_result_other="${msg_begin}${msg_result_other:-33;1}m" + msg_reset="${msg_begin}m" + ]) + AS_UNSET(msg_begin) + ]) + AS_REQUIRE_SHELL_FN([colorize_result], + [AS_FUNCTION_DESCRIBE([colorize_result], [MSG], [Colorize result])], + [AS_CASE(["$[]1"], + [yes], [AS_ECHO(["${msg_result_yes}$[]1${msg_reset}]")], + [no], [AS_ECHO(["${msg_result_no}$[]1${msg_reset}]")], + [AS_ECHO(["${msg_result_other}$[]1${msg_reset}]")])]) +]) + +AC_DEFUN([COLORIZE_RESULT], [AC_REQUIRE([_COLORIZE_RESULT_PREPARE])dnl + AS_LITERAL_IF([$1], + [m4_case([$1], + [yes], [AS_ECHO(["${msg_result_yes}$1${msg_reset}"])], + [no], [AS_ECHO(["${msg_result_no}$1${msg_reset}"])], + [AS_ECHO(["${msg_result_other}$1${msg_reset}"])])], + [colorize_result "$1"]) dnl +]) + +AC_DEFUN([AC_CHECKING],[dnl +AC_REQUIRE([_COLORIZE_RESULT_PREPARE])dnl +AS_MESSAGE([checking ${msg_checking}$1${msg_reset}...])]) + +AC_DEFUN([AC_MSG_RESULT], [dnl +{ _AS_ECHO_LOG([result: $1]) +COLORIZE_RESULT([$1]); dnl +}]) diff --git a/configure.in b/configure.in index a34a46454f..20586d7ac1 100644 --- a/configure.in +++ b/configure.in @@ -4317,7 +4317,7 @@ AC_SUBST(BUILTIN_TRANSOBJS) PACKAGE=$RUBY_BASE_NAME AC_SUBST(PACKAGE) -AC_MSG_RESULT($PACKAGE library version = $ruby_version) +AS_MESSAGE([$PACKAGE library version = $ruby_version]) AS_CASE([" $CPP "], [*" $CC "*], [CPP=`echo " $CPP " | sed "s| $CC |"' $(CC) |;s/^ *//;s/ *$//'`]) diff --git a/tool/ifchange b/tool/ifchange index 488e9db26e..6a1923c167 100755 --- a/tool/ifchange +++ b/tool/ifchange @@ -37,11 +37,29 @@ if [ "$temp" = - ]; then trap 'rm -f "$temp"' 0 fi +msg_begin= msg_unchanged= msg_updated= msg_reset= +if [ -t ]; then + msg_begin="`tput smso 2>/dev/null`" + case "$msg_begin" in + ""*m) + msg_begin="`echo "$msg_begin" | sed 's/[0-9]*m$//'`" + if [ ${TEST_COLORS:+set} ]; then + msg_unchanged=`expr ":$TEST_COLORS:" : ".*:pass=\([^:]*\):"` + msg_updated=`expr ":$TEST_COLORS:" : ".*:fail=\([^:]*\):"` + fi + msg_unchanged="${msg_begin}${msg_unchanged:-32;1}m" + msg_updated="${msg_begin}${msg_updated:-31;1}m" + msg_reset="${msg_begin}m" + ;; + esac + unset msg_begin +fi + if [ -f "$target" -a ! -${empty:+f}${empty:-s} "$temp" ] || cmp "$target" "$temp" >/dev/null 2>&1; then - echo "$target unchanged" + echo "$target ${msg_unchanged}unchanged${msg_reset}" rm -f "$temp" else - echo "$target updated" + echo "$target ${msg_updated}updated${msg_reset}" [ x"${keepsuffix}" = x ] || mv -f "$target" "${target}${keepsuffix}" mv -f "$temp" "$target" fi