# versioning.at -- test libtool versioning -*- Autotest -*-
#
-# Copyright (C) 2009 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2010 Free Software Foundation, Inc.
#
# This file is part of GNU Libtool.
#
# Hypothesis: library revision updates do not require (uninstalled
-# nor installed) programs to be relinked.
+# nor installed) programs or libraries to be relinked.
AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba2.lo ]dnl
[-version-info 0:1:0 -rpath $libdir], [], [ignore], [ignore])
test_uninstalled
-AT_CHECK([$LIBTOOL --mode=install cp liba.la libb.la $libdir],
- [], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --mode=install cp liba.la $libdir], [], [ignore], [ignore])
AT_CHECK([$LIBTOOL --mode=clean rm -f liba.la], [], [ignore], [ignore])
test_installed
# do not uninstall here: the library may be reused in the next test.
# Hypothesis: backward compatible library updates do not require
-# (uninstalled nor installed) programs to be relinked.
+# (uninstalled nor installed) programs or libraries to be relinked.
# This can have one of several reasons:
# - the soname is the difference between $current and $age, thus
# unchanged; in this case, the newly installed library will be used,
AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba3.lo ]dnl
[-version-info 1:0:1 -rpath $libdir], [], [ignore], [ignore])
# Do not test the uninstalled program, it may be broken (in the second case).
-AT_CHECK([$LIBTOOL --mode=install cp liba.la libb.la $libdir],
- [], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --mode=install cp liba.la $libdir], [], [ignore], [ignore])
AT_CHECK([$LIBTOOL --mode=clean rm -f liba.la], [], [ignore], [ignore])
test_installed
# do not uninstall here: the library may be reused in the next test.
# Hypothesis: with shared libraries, incompatible library updates
-# will not cause old installed programs (linked against the old
+# will not cause old installed programs or libraries (linked against the old
# library version) to break.
# This can have one of several reasons:
# - the soname has changed, so the old installed library will still be
# available,
# - we are linking statically, so the old library code will still be used.
+# In order to be sure we are still linking against the old library version,
+# we must ensure that libb is not relinked, so we must not reinstall libb here.
AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o liba.la liba4.lo ]dnl
[-version-info 2:0:0 -rpath $libdir], [], [ignore], [ignore])
# We do not guarantee that old versions of an uninstalled library are still
# available, so test_uninstalled will not necessarily work here any more.
-AT_CHECK([$LIBTOOL --mode=install cp liba.la libb.la $libdir],
- [], [ignore], [ignore])
+AT_CHECK([$LIBTOOL --mode=install cp liba.la $libdir], [], [ignore], [ignore])
AT_CHECK([$LIBTOOL --mode=clean rm -f liba.la], [], [ignore], [ignore])
test_installed