+2009-01-29 Akim Demaille <demaille@gostai.com>
+ Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ Normalize compiler output due to compiler wrappers.
+ * tests/testsuite.at (LT_AT_NORMALIZE_COMPILER_OUTPUT): New
+ macro, to normalize ccache and distcc output.
+ * tests/localization.at (localized compiler messages): Use it.
+
2009-01-29 Peter Rosin <peda@lysator.liu.se>
Make modified libtool script in cwrapper test executable
# Find out about expected output.
AT_CHECK([$CC $CPPFLAGS $CFLAGS -c a.c || exit 1], [1], [stdout], [stderr])
-LT_AT_UNIFY_NL([stdout], [expected-stdout])
-LT_AT_UNIFY_NL([stderr], [expected-stderr])
+LT_AT_NORMALIZE_COMPILER_OUTPUT([stdout], [expected-stdout])
+LT_AT_NORMALIZE_COMPILER_OUTPUT([stderr], [expected-stderr])
AT_CHECK([$LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c a.c || exit 1],
[1], [stdout], [stderr])
-LT_AT_UNIFY_NL([stderr])
-AT_CHECK([diff expected-stderr stderr])
-LTBASE=`$ECHO "$LIBTOOL" | sed 's,^.*/,,'`
-grep -v "^$LTBASE: compile" stdout > libtool-stdout
-LT_AT_UNIFY_NL([libtool-stdout])
+LT_AT_NORMALIZE_COMPILER_OUTPUT([stdout], [libtool-stdout])
+LT_AT_NORMALIZE_COMPILER_OUTPUT([stderr], [libtool-stderr])
+AT_CHECK([diff expected-stderr libtool-stderr])
AT_CHECK([diff expected-stdout libtool-stdout])
# check that we get our quoting right.
esac])
+# LT_AT_NORMALIZE_COMPILER_OUTPUT(FILE, [RESULT-FILE])
+# ----------------------------------------------------
+# Normalize differences in compiler output stemming from, e.g.,
+# - distcc process numbers,
+# - ccache file location,
+# - newline encoding,
+# - location of the libtool script.
+m4_define([LT_AT_NORMALIZE_COMPILER_OUTPUT],
+[_ltbase=`$ECHO "$LIBTOOL" | sed 's,^.*/,,'`
+[sed "/^distcc\[[0-9]*\]/d; /^$_ltbase: compile/d" < $1 > $1.t]
+LT_AT_UNIFY_NL([$1.t], [m4_default([$2], [$1])])[]dnl
+])
+
+
# LT_AT_EXEC_CHECK(EXECUTABLE, [STATUS = 0], [STDOUT], [STDERR],
# [ARGS-OR-STATUS-ADJUST])
# --------------------------------------------------------------