#! /bin/sh
# demo-deplibs.test - check whether the shared library check method is OK
#
#   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_require "demo-conf" "tests/demo/libhello.la"

func_mkprefixdir
func_cd "tests/demo"
echo "linking a shared library against a static library"
func_make "deplibs-check"
func_exec_init "uninstalled"
func_exec_check "hell0$EXEEXT" "check your deplibs_check_method"
func_exec "./hell0$EXEEXT" "" "check your deplibs_check_method"

exit $exec_status
