Phil Edwards <[EMAIL PROTECTED]> writes: > One of the GCC runtime libraries (libstdc++-v3) has for years contained > the following lines in acinclude.m4: > > m4_include([../libtool.m4]) > dnl The lines below arrange for aclocal not to bring an installed > dnl libtool.m4 into aclocal.m4, while still arranging for automake to > dnl add a definition of LIBTOOL to Makefile.in. > ifelse(,,,[AC_SUBST(LIBTOOL) > AC_DEFUN([AM_PROG_LIBTOOL]) > AC_DEFUN([AC_LIBTOOL_DLOPEN]) > AC_DEFUN([AC_PROG_LD]) > ]) > > I've been content to ignore them, since I don't understand libtool. > But now we're trying to move to the latest released tools, and aclocal > 1.8 flags errors dealing with that block: > > aclocal: macro `_AC_PROG_LIBTOOL' required but not defined > aclocal: macro `_AC_LIBTOOL_CXX' required but not defined > aclocal: macro `_AC_LIBTOOL_GCJ' required but not defined
Which means that you don't have libtool.m4 in $datadir/aclocal. > On the advice of a colleague, I tried adding "-I .." to the command line. > This worked. Previous versions of aclocal also required this. If you run aclocal 1.7.x with --verbose you will see that it never looks at ../libtool.m4 unless you pass "-I ..". > Unless I'm missing some important piece of philosophy, this is also very very > poor behavior. We've specifically *told* autowhatever to get a file from > ".." and it's definitely doing something with that file (moving it away > leads to file-not-found errors). But the definitions inside are somehow > being ignored, unless we futz with redundant command line options. aclocal has never looked at (m4_|s)include while collecting files for scanning. > We have tried very hard to avoid requiring developers to pass arguments > to the various autotools, largely because there's no way to help them do > so automatically. What's wrong with "ACLOCAL_AMFLAGS = -I .." in Makefile.am? > And just recently I've been factoring out pieces of our large > acinclude.m4 into various smaller .m4 files; if the behavior of > m4_include is suddenly different, we'll have to rethink all that. There was no change in behaviour. It only worked before because you had the libtool macros installed in $datadir/aclocal. Presumably you are using a different prefix for your automake 1.8 installation, so that $datadir/aclocal is empty or does not exist. Andreas. -- Andreas Schwab, SuSE Labs, [EMAIL PROTECTED] SuSE Linux AG, MaxfeldstraÃe 5, 90409 NÃrnberg, Germany Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."
