| # dmacks.at -- test for dmacks bug -*- Autotest -*- |
| # |
| # Copyright (C) 2007-2008, 2010-2019, 2021-2026 Free Software |
| # Foundation, Inc. |
| # Written by Peter O'Gorman, 2007 |
| # |
| # This file is part of GNU Libtool. |
| # |
| # GNU Libtool 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. |
| # |
| # GNU Libtool 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 GNU Libtool. If not, see <https://www.gnu.org/licenses/>. |
| #### |
| |
| |
| AT_SETUP([static library contains static library]) |
| AT_KEYWORDS([libtool]) |
| |
| # This test passes with MS lib. |
| AT_XFAIL_IF([case $AR in ar-lib\ * | *[[/\\]]ar-lib\ *) false;; *) :;; esac]) |
| |
| AT_DATA([foo.c], |
| [ |
| int foo() { return 1;} |
| ]) |
| |
| AT_DATA([bar.c], |
| [ |
| int bar() { return 1;} |
| ]) |
| |
| thisdir=`cd . && pwd` |
| $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o foo.lo foo.c |
| $LIBTOOL --mode=compile --tag=CC $CC $CPPFLAGS $CFLAGS -c -o bar.lo bar.c |
| $LIBTOOL --mode=link --tag=CC --tag=disable-shared $CC $CFLAGS $LDFLAGS \ |
| -o libfoo.la foo.lo -version-info 1:0:0 -rpath $thisdir |
| $LIBTOOL --mode=install cp libfoo.la $thisdir |
| eval `$EGREP '^(old_library)=' < libfoo.la` |
| libfoo=$old_library |
| AT_CHECK([$LIBTOOL --mode=link --tag=CC --tag=disable-shared $CC $CFLAGS $LDFLAGS \ |
| -o libbar.la bar.lo $libfoo -version-info 1:0:0 -rpath $thisdir], |
| [], [ignore], [ignore]) |
| AT_CHECK([$LIBTOOL --mode=install cp libbar.la $thisdir], [], [ignore], [ignore]) |
| eval `$EGREP '^(old_library)=' < libbar.la` |
| libbar=$old_library |
| AT_CHECK([$AR -t $libbar | $GREP $libfoo],[1],[ignore],[ignore]) |
| AT_CHECK([$AR -t $libbar | $GREP foo.$OBJEXT],[],[ignore],[ignore]) |
| AT_CHECK([$AR -t $libbar | $GREP bar.$OBJEXT],[],[ignore],[ignore]) |
| AT_CLEANUP |