cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: "make distclean" broken?

From: Yang Tse <yangsita_at_gmail.com>
Date: Tue, 16 Jul 2013 04:26:36 +0200

Nick Zitzmann wrote:

> Yeah, I'm pretty sure something broke with the upgrade to Automake 1.14. I tried building and then running "make distclean" on another system running an older version (1.12.x), and it worked. Then I upgraded it to 1.14, and it failed with the same error.

Yes, currently, generation of libcurl configure script uses
'subdir-objects' when invoking AM_INIT_AUTOMAKE when automake 1.14 is
used at 'buildconf' time. On the other hand it does not use the
'subdir-objects' option when older versions of automake are used.

The reason for not using 'subdir-objects' with older versions is that
I already tried it some months ago and realized that we could not use
it back then (when automake 1.13 was bleeding edge).

The reason for attempting to use it now with automake 1.14 or newer
was automake 1.14 emitting now a warning saying that 'subdir-objects'
is required to avoid future incompatibilities.
http://curl.haxx.se/mail/lib-2013-07/0040.html

Now it becomes obvious that the 'subdir-objects' issues existing in
previous automake versions have not been fully addressed yet although
automake 1.14 warning induces to think so, or at least induces to
believe that these might get fixed.

The 'subdir-objects' behavior (with no way to use classic mode) has
been for a long time one of the goals of the automake project. So,
take for granted that this is something we are going to suffer/enjoy
sooner or later, unless automake project backs out on this one.

Unless a newer automake is released, before next libcurl release,
which solves at least one of the two remaining issues we'll have to do
something on our side.

Option one) Revert commit fe7e3229f8 and let automake 1.14 users live
with the warning it issues relative to 'subdir-objects' not being
used.

Option two) Modify configure script in order to make it 'fix'
distclean and maintainer-clean targets of generated Makefiles. Verify
if fixing this is enough, and that the timestamp issue does not hunt
us back.

Ugly.

Just for the record, the couple of automake 1.14 issues that affect
libcurl project when using 'subdir-objects' are:

1) distclean and maintainer-clean targets remove entire DEPDIR
subdirectories, instead of removing dependency tracking files
individually and later remove DEPDIR subdirectory when empty (this
should work even with parallel execution).

2) Subdirectory timestamp files are not strictly enough for 'per
target' object generation. These should be 'per target' timestamp
files. Although we could probably live without these.

-- 
-=[Yang]=-
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html
Received on 2013-07-16