[patch]: modernize configure.in's initialization and configuration
Dillo's configure.in uses some obsolete autoconf/automake macros and calls some others in obsolete ways. This patch brings it (mostly) up to date. Any problems with this or shall I push it? Regards, Jeremy Henty References: AC_INIT autoconf manual: section 4.1: Initializing configure http://www.gnu.org/software/autoconf/manual/html_node/Initializing-configure... AC_INIT (obsolete form) autoconf manual: section 18.4: Obsolete Macros http://www.gnu.org/software/autoconf/manual/html_node/Obsolete-Macros.html AM_INIT_AUTOMAKE automake manual: section 6.4.1: Public Macros http://www.gnu.org/software/autoconf/manual/automake/Public-Macros.html AM_CONFIG_HEADER (obsolete) automake manual: section 6.4.2: Obsolete Macros http://www.gnu.org/software/autoconf/manual/automake/Obsolete-Macros.html
On Thu, Dec 30, 2010 at 02:38:23PM +0000, corvid wrote:
Jeremy wrote:
Dillo's configure.in uses some obsolete autoconf/automake macros and calls some others in obsolete ways. This patch brings it (mostly) up to date.
How ancient would a user's auto* have to be to be unable to recognize the newer form?
Users don't run autoconf. What matters is whether the dev's auto* versions are new enough. Unfortunately the man pages don't say when the new macro syntaxes were introduced, but my impression is that the old versions have been deprecated for years. For comparison my versions are autoconf 2.64 (released 2009/07/26) and automake 1.11 (released 2009/05/27). Are any devs using older versions? (I thought my system was usually older than the rest of yours, witness the time when I was still on GCC 3 and submitted patches that broke under GCC 4.) I checked the release announcements on the autotools list back to autoconf 2.60 (released 2006/06/26) and automake 1.10 (released 2006/08/15) and didn't see any references to the new syntaxes of AC_INIT and AM_INIT_AUTOMAKE, so I assume that we're OK unless some of the devs have tools from before the second half of 2006. Also, after searching the autotools mailing list archives (all the way back to Feb 2003): there are no references to AM_INIT_AUTOMAKE, and of the 5 mentions of AC_INIT, the only reference to new syntax is the addition of the optional 5th argument to specify the package URL. I think we're pretty safe with the new syntax! Regards, Jeremy Henty
On Thu, Dec 30, 2010 at 01:22:38PM +0000, Jeremy Henty wrote:
Dillo's configure.in uses some obsolete autoconf/automake macros and calls some others in obsolete ways. This patch brings it (mostly) up to date.
Any problems with this or shall I push it?
From the patch and docs, it looks OK to commit. +1 -- Cheers Jorge.-
Jorge wrote:
On Thu, Dec 30, 2010 at 01:22:38PM +0000, Jeremy Henty wrote:
Dillo's configure.in uses some obsolete autoconf/automake macros and calls some others in obsolete ways. This patch brings it (mostly) up to date.
Any problems with this or shall I push it?
From the patch and docs, it looks OK to commit. +1
Ditto.
On Fri, Dec 31, 2010 at 10:58:25PM +0000, corvid wrote:
Jorge wrote:
On Thu, Dec 30, 2010 at 01:22:38PM +0000, Jeremy Henty wrote:
Dillo's configure.in uses some obsolete autoconf/automake macros and calls some others in obsolete ways. This patch brings it (mostly) up to date.
Any problems with this or shall I push it?
From the patch and docs, it looks OK to commit. +1
Ditto.
Done! Regards, Jeremy Henty
Now that I run it instead of just reading the documentation (reminds me of that one Knuth line), I get some configure.in:9: warning: AC_ARG_PROGRAM was called before AC_CANONICAL_TARGET ./../lib/autoconf/general.m4:1843: AC_CANONICAL_SYSTEM is expanded from... configure.in:9: the top level
BTW, I see that configure.ac is preferred to configure.in nowadays. http://www.mail-archive.com/autoconf@gnu.org/msg19641.html says: "...the naming change to configure.ac was YEARS ago, for autoconf 2.50. And now that autoconf 2.59 is about as old as you can reliably go (for example, RHEL 5 still uses autoconf 2.59), it is completely safe to use the (not so) new naming convention." It seems that 2.50 came out in 2001.
On Sat, Jan 01, 2011 at 10:28:55AM +0000, corvid wrote:
Now that I run it instead of just reading the documentation (reminds me of that one Knuth line), I get some
configure.in:9: warning: AC_ARG_PROGRAM was called before AC_CANONICAL_TARGET ./../lib/autoconf/general.m4:1843: AC_CANONICAL_SYSTEM is expanded from... configure.in:9: the top level
Yes, my fault, AC_CANONICAL_SYSTEM needs to be called immediately after AC_INIT . Just about to submit a fix! Regards, Jeremy Henty
* Jeremy Henty <onepoint@starurchin.org> schrieb:
On Sat, Jan 01, 2011 at 10:28:55AM +0000, corvid wrote:
Now that I run it instead of just reading the documentation (reminds me of that one Knuth line), I get some
configure.in:9: warning: AC_ARG_PROGRAM was called before AC_CANONICAL_TARGET ./../lib/autoconf/general.m4:1843: AC_CANONICAL_SYSTEM is expanded from... configure.in:9: the top level
Yes, my fault, AC_CANONICAL_SYSTEM needs to be called immediately after AC_INIT . Just about to submit a fix!
BTW: if you someday encounter issues with certain previously set variables ending up empty, it also might have to do with that ordering. (IIRC AC_INIT() seems to clear variables). Autoconf is hell ;-o cu -- ---------------------------------------------------------------------- Enrico Weigelt, metux IT service -- http://www.metux.de/ phone: +49 36207 519931 email: weigelt@metux.de mobile: +49 151 27565287 icq: 210169427 skype: nekrad666 ---------------------------------------------------------------------- Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme ----------------------------------------------------------------------
participants (4)
-
corvid@lavabit.com
-
jcid@dillo.org
-
onepoint@starurchin.org
-
weigelt@metux.de