autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

autoreconf with autotools installed in different directories


From: chan
Subject: autoreconf with autotools installed in different directories
Date: Mon, 15 Feb 2010 14:11:47 -0600 (CST)

Wonder if autoreconf is meant to work where autotools
(autoconf,automake,libtool) are installed in different
directories or this is an unsupported case ?

Here is a simple example that reproduces the case.

~> cat configure.ac 
AC_INIT(foo,1.0)
AC_CONFIG_MACRO_DIR([confdb])
AC_PROG_LIBTOOL
AC_OUTPUT
~> cat Makefile.am 
ACLOCAL_AMFLAGS = -I confdb

~> ( test -d confdb || mkdir confdb ) && autoreconf -ivf
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I confdb
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /homes/chan/autoconf/2.65/bin/autoconf --force
configure.ac:3: error: possibly undefined macro: AC_PROG_LIBTOOL
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
autoreconf: /homes/chan/autoconf/2.65/bin/autoconf failed with exit status: 1

To work around the issue, couple ways have been found.
1) libtoolize is invoked before autoreconf 
2) ACLOCAL="aclocal -I$LIBTOOL_HOME/share/aclocal" is passed
   to autoreconf
With one of the workarounds, everything works.

To check if autoreconf is not meant to work in this
environment, I added few lines to force libtoolize
in autoreconf:

~> diff autoreconf.old autoreconf
487a488,495
>     my $lt_hack = $ENV{'ARC_HACK'} || 0;
>     if ($lt_hack) {
>         if (! defined $uses_libtool) {
>             print "undefined uses_libtool, set it to 1.\n"; $uses_libtool = 1;
>         }
>         print "uses_libtool = ", $uses_libtool, "\n";
>     }
> 

With above hack, autoreconf runs without error:
~> ( test -d confdb || mkdir confdb ) && env ARC_HACK=1 autoreconf -ivf
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I confdb
autoreconf: configure.ac: tracing
undefined uses_libtool, set it to 1.
uses_libtool = 1
autoreconf: running: libtoolize --copy --force
libtoolize: putting auxiliary files in `.'.
libtoolize: copying file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `confdb'.
libtoolize: copying file `confdb/libtool.m4'
libtoolize: copying file `confdb/ltoptions.m4'
libtoolize: copying file `confdb/ltsugar.m4'
libtoolize: copying file `confdb/ltversion.m4'
libtoolize: copying file `confdb/lt~obsolete.m4'
autoreconf: running: /homes/chan/autoconf/2.65/bin/autoconf --force
autoreconf: configure.ac: not using Autoheader
autoreconf: configure.ac: not using Automake
autoreconf: Leaving directory `.'

Is this a bug in autoreconf or misuse of autoreconf ?

Thanks,
A.Chan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]