Generating Autotools files without autoreconf

Hi there,
GCC developers that also track the Parma Polyhedra Library (PPL, http://www.cs.unipr.it/ppl/) are in a situation whereby, while the GCC compiler is requiring Autoconf version 2.59 (precisely that one), the PPL requires a version >= 2.61. This is annoying, because they are forced to use at least two different versions of Autoconf.
Basile Starynkevitch (in CC) suggested we put a generated configure script on the CVS repository. Thus we now have configure.repo in the repository, the idea being that a simple
mv configure.repo configure
could be used as an alternative to autoconf. However, the problem remains how to perform the update of all the other generated configuration files. In other words, we would need something that acts like autoreconf except for the fact that it would not attempt to build configure from configure.ac. Probably a small shell script invoking libtool, aclocal, automake in the right order and recursing to subdirectories is what is needed, but we are not sure. What is the right solution? All the best,
Roberto

Roberto Bagnara bagnara@cs.unipr.it writes:
In other words, we would need something that acts like autoreconf except for the fact that it would not attempt to build configure from configure.ac.
$ AUTOCONF=true autoreconf ...
Andreas.

Andreas Schwab wrote:
Roberto Bagnara bagnara@cs.unipr.it writes:
In other words, we would need something that acts like autoreconf except for the fact that it would not attempt to build configure from configure.ac.
$ AUTOCONF=true autoreconf ...
Hi Andreas,
it would have been nice and simple, but it does not work. We get:
$ cvs -d :pserver:anoncvs@cvs.cs.unipr.it:/cvs/ppl co ppl $ cd ppl $ mv configure.repo configure $ mv Watchdog/configure.repo Watchdog/configure $ AUTOCONF=true autoreconf configure.ac:29: error: Autoconf version 2.60 or higher is required configure.ac:29: the top level autom4te: /usr/local/bin/m4 failed with exit status: 63 aclocal: autom4te failed with exit status: 63 autoreconf: aclocal failed with exit status: 63
Adding -v we get:
$ AUTOCONF=true autoreconf -v autoreconf: Entering directory `.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal -I m4 configure.ac:29: error: Autoconf version 2.60 or higher is required configure.ac:29: the top level autom4te: /usr/local/bin/m4 failed with exit status: 63 aclocal: autom4te failed with exit status: 63 autoreconf: aclocal failed with exit status: 63
Note that:
$ autoreconf --version autoreconf (GNU Autoconf) 2.59 Written by David J. MacKenzie and Akim Demaille.
Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. You have new mail in /var/spool/mail/roberto
Thanks,
Roberto

Hello Roberto, Andreas, all,
* Roberto Bagnara wrote on Wed, Oct 01, 2008 at 06:35:10PM CEST:
Andreas Schwab wrote:
Roberto Bagnara bagnara@cs.unipr.it writes:
In other words, we would need something that acts like autoreconf except for the fact that it would not attempt to build configure from configure.ac.
$ AUTOCONF=true autoreconf ...
it would have been nice and simple, but it does not work.
[...]
$ AUTOCONF=true autoreconf configure.ac:29: error: Autoconf version 2.60 or higher is required configure.ac:29: the top level autom4te: /usr/local/bin/m4 failed with exit status: 63 aclocal: autom4te failed with exit status: 63 autoreconf: aclocal failed with exit status: 63
Yes that is because the other tools run autom4te from Autoconf under the hood.
Can you install a recent-enough Autoconf under another prefix, or maybe with --program-suffix=-2.62, and set the variables accordingly, e.g., AUTOCONF=autoconf-2.62 AUTOM4TE=autom4te-2.62 \ AUTOHEADER=autoheader-2.62 autoreconf
? Another possibility is to put all generated files under version control (until GCC has been updated to newer autotools as well).
Cheers, Ralf
participants (3)
-
Andreas Schwab
-
Ralf Wildenhues
-
Roberto Bagnara