Hash :
d51e7b79
Author :
Date :
2011-02-24T10:21:19
libtool: suggest LT_INIT if LTLIBRARIES primary is used When the LTLIBRARIES primary was used, but $(LIBTOOL) wasn't defined, automake suggested to add a call to AC_PROG_LIBTOOL in configure.ac. But that macro is deprecated since Libtool version 1.9b (2004-08-29), in favor of the newer LT_INIT. So suggest the use of this latter macro instead. * lib/Automake/Variable.pm (%_am_macro_for_var): Pair 'LIBTOOL' with 'LT_INIT', not with 'AC_PROG_LIBTOOL'. * libtool4.test: Adjust and extend. Also, add a call to macro AC_PROG_CC in configure.in, to help ensuring that automake does not fail for the wrong reasons. * ltinit.test: New test, ensure that automake's libtool support works with LT_INIT-based interface. Thanks to Jack Kelly for the suggestion.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
#!/bin/sh
# Copyright (C) 2011 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, see <http://www.gnu.org/licenses/>.
# Test that libtool support works correctly when "newer" libtool
# interface (with LT_INIT etc.) is used (this interface has been
# present since libtool 1.9b, circa 2004).
required='libtoolize'
. ./defs || Exit 1
set -e
cat >>configure.in <<'END'
AC_PROG_CC
dnl Older libtool versions don't define LT_PREREQ :-(
m4_ifdef([LT_PREREQ],
[LT_PREREQ([2.0])],
[m4_fatal([Libtool version too old], [63])])
LT_INIT([dlopen])
AC_OUTPUT
END
cat >Makefile.am <<'END'
lib_LTLIBRARIES = libfoo.la
END
cat > libfoo.c <<'END'
int foo (void)
{
return 1;
}
END
libtoolize
# Skip if older libtool (pre-2.0) is used.
{ $ACLOCAL && $AUTOCONF; } || {
if test $? -eq 63; then Exit 77; else Exit 1; fi
}
$EGREP 'LT_(INIT|PREREQ)' configure && Exit 1 # Sanity check.
$AUTOMAKE -a
cwd=`pwd`
./configure --prefix="$cwd/inst" >stdout || { cat stdout; Exit 1; }
cat stdout
grep '^checking.*dlopen' stdout
$MAKE
$MAKE install
$MAKE distcheck
: