mirror of
git://git.savannah.gnu.org/libtool.git
synced 2025-01-18 14:16:00 +08:00
* tests/shlibpath.at: New file, with...
(shlibpath_overrides_runpath): ...new test. * Makefile.am: Update.
This commit is contained in:
parent
0aa2626475
commit
7105a8d04e
@ -1,3 +1,9 @@
|
||||
2006-09-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
* tests/shlibpath.at: New file, with...
|
||||
(shlibpath_overrides_runpath): ...new test.
|
||||
* Makefile.am: Update.
|
||||
|
||||
2006-09-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
* tests/destdir.at: New file.
|
||||
|
@ -403,6 +403,7 @@ TESTSUITE_AT = tests/testsuite.at \
|
||||
tests/convenience.at \
|
||||
tests/link-order.at \
|
||||
tests/fail.at \
|
||||
tests/shlibpath.at \
|
||||
tests/static.at \
|
||||
tests/destdir.at \
|
||||
tests/old-m4-iface.at \
|
||||
|
68
tests/shlibpath.at
Normal file
68
tests/shlibpath.at
Normal file
@ -0,0 +1,68 @@
|
||||
# Hand crafted tests for GNU Libtool. -*- Autotest -*-
|
||||
# Copyright 2006 Free Software Foundation, Inc.
|
||||
|
||||
# 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, 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, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301, USA.
|
||||
|
||||
# Test shlibpath settings.
|
||||
|
||||
AT_SETUP([shlibpath_overrides_runpath])
|
||||
|
||||
mkdir sub sub/lib sub/bin
|
||||
echo 'int a () { return 0; }' > a.c
|
||||
echo 'extern int a (); int main () { return a(); }' > m.c
|
||||
$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c
|
||||
$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath `pwd`/sub/lib
|
||||
$LIBTOOL --mode=install cp liba.la `pwd`/sub/lib/liba.la
|
||||
$LIBTOOL --mode=clean rm -f liba.la
|
||||
rm -f sub/lib/liba.la
|
||||
|
||||
$CC $CPPFLAGS $CFLAGS -c m.c
|
||||
AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m m.$OBJEXT -Lsub/lib -la -R`pwd`/sub/lib],
|
||||
[], [ignore], [ignore])
|
||||
AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o m2 m.$OBJEXT -Lsub/lib -la],
|
||||
[], [ignore], [ignore])
|
||||
|
||||
mv sub moved
|
||||
mkdir sub sub/lib sub/bin
|
||||
echo 'int wrong_lib () { return 0; }' > a.c
|
||||
$LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c a.c
|
||||
$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la a.lo -rpath `pwd`/sub/lib
|
||||
$LIBTOOL --mode=install cp liba.la `pwd`/sub/lib/liba.la
|
||||
$LIBTOOL --mode=clean rm -f liba.la
|
||||
|
||||
eval `$LIBTOOL --config | $EGREP '^(shlibpath_var|shlibpath_overrides_runpath)='`
|
||||
|
||||
# No point checking a system with static libraries:
|
||||
AT_CHECK([{ ./m || exit 1; } && exit 77], [1], [ignore], [ignore])
|
||||
|
||||
if test "$shlibpath_var" = PATH; then
|
||||
addpath=`pwd`/moved/bin
|
||||
else
|
||||
addpath=`pwd`/moved/lib
|
||||
fi
|
||||
sep=
|
||||
eval test -n \"\$$shlibpath_var\" && sep=:
|
||||
eval $shlibpath_var='$addpath$sep$'$shlibpath_var
|
||||
export $shlibpath_var
|
||||
if test "$shlibpath_overrides_runpath" != no; then
|
||||
LT_AT_EXEC_CHECK([./m], [0], [ignore], [ignore])
|
||||
else
|
||||
AT_CHECK([./m || exit 1], [1], [ignore], [ignore])
|
||||
fi
|
||||
# Test that shlibpath_var is effective in adding paths at all:
|
||||
LT_AT_EXEC_CHECK([./m2], [0], [ignore], [ignore])
|
||||
|
||||
AT_CLEANUP
|
Loading…
Reference in New Issue
Block a user