--- /dev/null
+#! /bin/sh
+# tagtrace.test - check the LT_SUPPORTED_TAGS interface
+
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, a copy can be downloaded from
+# http://www.gnu.org/copyleft/gpl.html, or by writing to the Free
+# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+# MA 02111-1307, USA.
+
+if test -z "$srcdir"; then
+ srcdir=`echo "$0" | sed 's%/[^/]*$%%'`
+ test "$srcdir" = "$0" && srcdir=.
+fi
+. $srcdir/defs || exit 1
+
+"$AUTOCONF" --version > /dev/null 2>&1 || func_skip "This test requires GNU Autoconf"
+
+# Abort as soon as something fails.
+set -e
+
+# Retrieve the list of tags supported by our main libtool script.
+traced_tags=`cd "$srcdir/.." && "$AUTOCONF" --trace 'LT_SUPPORTED_TAG:$1'`
+
+test -n "$traced_tags"
+
+# Ensure each of them is accepted by --tag.
+# (We do some useless operation like erasing an empty file, because
+# we are just interested in whether --tag accepts the tag or not.)
+for tag in $traced_tags; do
+ $libtool -n --mode=link --tag=$tag compiler -o liba.la foo.lo >output 2>&1
+ cat output
+ if grep 'ignoring unknown tag' output; then
+ exit $EXIT_FAILURE
+ else
+ :
+ fi
+done
+
+# Ensure the above command would have failed for unknown tags
+$libtool -n --mode=link --tag=UnKnOwN compiler -o liba.la foo.lo >output 2>&1
+cat output
+grep 'ignoring unknown tag' output
+
+rm -f output