automake
[Top][All Lists]
Advanced

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

Re: What did AM_ ever do to you?


From: Stefano Lattarini
Subject: Re: What did AM_ ever do to you?
Date: Wed, 01 May 2013 12:21:31 +0200

On 05/01/2013 05:40 AM, Kerrick Staley wrote:
>
> Automake renamed some macros
>
These renames has been done *years* ago.  And they weren't renaming,
really; simply, things that had been implemented in Automake while
Autcoconf was dormant were later moved to their proper place (that is,
the Autoconf codebase); the renames were due to the fact that Automake
uses 'AM_' for the namespace of its macros, while Autoconf uses 'AC_'.

The real problem has been that I've removed the old 'AM_' macros without
a proper deprecation period, erroneously thinking that "they have been
deprecated for so long in the documentation that all projects have surely
stopped using them by now, right?" --- dead wrong I was.

> and dropped support for the older versions
> (AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
>
This had already been reverted in the branch-1.13.2 (you'd have probably
realized this if you had searched the archives before reporting the issue).
I wasn't happy to do this, but the Fedora developers have already applied
a similar change to their Automake, and I'd rather avoid divergences
between upstream Automake and distro-provided Automake if possible.
Now, the use of AM_CONFIG_HEADER will cause a (non-fatal) warning rather
than an hard error.

> and AM_PROG_MKDIR_P -> AC_PROG_MKDIR_P come to mind).
>
I don't follow.  AM_PROG_MKDIR_P has been deprecated, but not removed.
I *tried* to remove it in the master branch, but testing from me and
other people showed that doing so would cause a *lot* of pain with
Gettext integration, so I reverted the removal before it ever hit a
released version.

> This is bad because it breaks every single open source project in
> existence (break ALL the builds),
>
As Diego said, this is an exaggeration that doesn't help your point
(which is mostly valid BTW).

> for reasons
> that most developers don't want to have to think about (writing code is
> fun; worry about how to build it is less fun).
>
> I'm sure there were legitimate technical reasons for the renaming,
>
Yes; see the explanation above about the moving from Automake to Autoconf.

> but I think it would've been better overall if you had kept the deprecated
> namings indefinitely—a little extra work on your part, but much less stress
> for everyone else. Just my 2c worth.
>
In retrospect I mostly agree.  Notice that many of the removed 'AM_' names
(those still used in practice by a non-trivial number of projects) will be
reintroduced in Automake 1.13.2.  Albeit they will trigger non-fatal
deprecation warning, to encourage the developers to update their build
systems to more modern usages and idioms.

Regards,
  Stefano



reply via email to

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