| #! /bin/sh |
| # tagtrace.test - check the LT_SUPPORTED_TAGS interface |
| |
| # Copyright (C) 2004, 2005 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., 51 Franklin Street, Fifth Floor, Boston, |
| # MA 02110-1301, USA. |
| |
| . tests/defs || exit 1 |
| |
| : ${fnord=$srcdir/fnord$$} |
| |
| "$AUTOCONF" --version > /dev/null 2>&1 || func_skip "This test requires GNU Autoconf" |
| if touch $fnord; then |
| rm $fnord |
| else |
| func_skip "This test requires write access to the source tree" |
| fi |
| |
| # 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 |