libtool/tests/demo-noinst-link.test

59 lines
1.9 KiB
Plaintext
Raw Normal View History

2003-10-15 05:46:13 +08:00
#! /bin/sh
# demo-noinst-link.test - make sure we do not link with an installed
# library when an uninstalled one is to be used
Since defs can change (path to grep for example) when it is made for a different host, it can't be shipped. That also means that defs will always be generated in the build tree, so each test case can have the srcdir discovery factored away into tests/defs.in: * Makefile.am (EXTRA_DIST): s/defs/defs.in/g * tests/Makefile.am (defs): New rule to remake defs from the parent directory's Makefile. * tests/cdemo-conf.test, tests/cdemo-exec.test, tests/cdemo-make.test, tests/cdemo-shared.test, tests/cdemo-static.test, tests/demo-conf.test, tests/demo-deplibs.test, tests/demo-exec.test, tests/demo-hardcode.test, tests/demo-inst.test, tests/demo-make.test, tests/demo-nofast.test, tests/demo-noinst-link.test, tests/demo-nopic.test, tests/demo-pic.test, tests/demo-relink.test, tests/demo-shared.test, tests/demo-static.test, tests/demo-unst.test, tests/depdemo-conf.test, tests/depdemo-exec.test, tests/depdemo-inst.test, tests/depdemo-make.test, tests/depdemo-nofast.test, tests/depdemo-relink.test, tests/depdemo-shared.test, tests/depdemo-static.test, tests/depdemo-unst.test, tests/f77demo-conf.test, tests/f77demo-exec.test, tests/f77demo-make.test, tests/f77demo-shared.test, tests/f77demo-static.test, tests/link-2.test, tests/link.test, tests/mdemo-conf.test, tests/mdemo-dryrun.test, tests/mdemo-exec.test, tests/mdemo-inst.test, tests/mdemo-make.test, tests/mdemo-shared.test, tests/mdemo-static.test, tests/mdemo-unst.test, tests/mdemo2-conf.test, tests/mdemo2-exec.test, tests/mdemo2-make.test, tests/nomode.test, tests/pdemo-conf.test, tests/pdemo-exec.test, tests/pdemo-inst.test, tests/pdemo-make.test, tests/quote.test, tests/sh.test, tests/suffix.test, tests/tagdemo-conf.test, tests/tagdemo-exec.test, tests/tagdemo-make.test, tests/tagdemo-shared.test, tests/tagdemo-static.test, tests/tagtrace.test: Removed srcdir discovery boilerplate... * tests/defs.in: ...and put it here.
2004-09-23 21:07:15 +08:00
# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
2003-10-15 05:46:13 +08:00
# 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.
Since defs can change (path to grep for example) when it is made for a different host, it can't be shipped. That also means that defs will always be generated in the build tree, so each test case can have the srcdir discovery factored away into tests/defs.in: * Makefile.am (EXTRA_DIST): s/defs/defs.in/g * tests/Makefile.am (defs): New rule to remake defs from the parent directory's Makefile. * tests/cdemo-conf.test, tests/cdemo-exec.test, tests/cdemo-make.test, tests/cdemo-shared.test, tests/cdemo-static.test, tests/demo-conf.test, tests/demo-deplibs.test, tests/demo-exec.test, tests/demo-hardcode.test, tests/demo-inst.test, tests/demo-make.test, tests/demo-nofast.test, tests/demo-noinst-link.test, tests/demo-nopic.test, tests/demo-pic.test, tests/demo-relink.test, tests/demo-shared.test, tests/demo-static.test, tests/demo-unst.test, tests/depdemo-conf.test, tests/depdemo-exec.test, tests/depdemo-inst.test, tests/depdemo-make.test, tests/depdemo-nofast.test, tests/depdemo-relink.test, tests/depdemo-shared.test, tests/depdemo-static.test, tests/depdemo-unst.test, tests/f77demo-conf.test, tests/f77demo-exec.test, tests/f77demo-make.test, tests/f77demo-shared.test, tests/f77demo-static.test, tests/link-2.test, tests/link.test, tests/mdemo-conf.test, tests/mdemo-dryrun.test, tests/mdemo-exec.test, tests/mdemo-inst.test, tests/mdemo-make.test, tests/mdemo-shared.test, tests/mdemo-static.test, tests/mdemo-unst.test, tests/mdemo2-conf.test, tests/mdemo2-exec.test, tests/mdemo2-make.test, tests/nomode.test, tests/pdemo-conf.test, tests/pdemo-exec.test, tests/pdemo-inst.test, tests/pdemo-make.test, tests/quote.test, tests/sh.test, tests/suffix.test, tests/tagdemo-conf.test, tests/tagdemo-exec.test, tests/tagdemo-make.test, tests/tagdemo-shared.test, tests/tagdemo-static.test, tests/tagtrace.test: Removed srcdir discovery boilerplate... * tests/defs.in: ...and put it here.
2004-09-23 21:07:15 +08:00
. defs || exit 1
2003-10-15 05:46:13 +08:00
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 "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