| #! /bin/sh |
| # demo-noinst-link.test - make sure we do not link with an installed |
| # library when an uninstalled one is to be used |
| # |
| # Copyright (C) 2003, 2004 Free Software Foundation, Inc. |
| # Written by Gary V. Vaughan, 2003 |
| # |
| # 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; see the file COPYING. If not, a copy |
| # can be downloaded from http://www.gnu.org/licenses/gpl.html, |
| # or obtained by writing to the Free Software Foundation, Inc., |
| # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
| #### |
| |
| . tests/defs || exit 1 |
| |
| func_restore_files () |
| { |
| mv -f "$objdir"/temp/libs/* "$objdir" |
| mv -f "$objdir/temp/libhello.la" "$objdir/temp/hell$EXEEXT" . |
| rm -rf "$objdir/temp" |
| } |
| |
| func_save_files () |
| { |
| func_mkdir_p "$objdir/temp/libs" |
| cp -f libhello.la "hell$EXEEXT" "$objdir/temp" |
| cp -f "$objdir"/* "$objdir"/temp/libs |
| trap "func_restore_files" 0 1 2 13 15 |
| } |
| |
| func_require "demo-inst" "$prefix/lib/libhello.la" |
| |
| func_mkprefixdir |
| func_cd "tests/demo" |
| func_save_files |
| |
| func_msg "removing \`libhello.la' and \`hell' from demo" |
| rm -f libhello.la "hell$EXEEXT" |
| |
| status=$EXIT_SUCCESS |
| func_msg "linking \`hell' with a broken \`demo/libhello.la'" |
| if $MAKE "hell$EXEEXT" libhello_la_OBJECTS=hello.lo; then |
| func_msg "Succeeded: this means the installed library was used, which is wrong" |
| status=$EXIT_FAILURE |
| fi |
| |
| exit $status |