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
|