Subject: Re: bug#13928: VPATH issues with subdir-objects

From: Stefano Lattarini <[email-masked]>
Date: Mon, 11 Mar 2013 23:27:11 +0100

On 03/11/2013 10:33 PM, Nick Bowler wrote:
> On 2013-03-11 21:55 +0100, Stefano Lattarini wrote:
> [...]
>>   - from Automake 2.0 onward, only enable the automatic dependency
>>     tracking if GNU make is used; we can thus assume the presence
>>     of the "-include" directive
>>
Actually, to be more precise, we could simply test at runtime if that
directive is supported by the target make implementation (there is
already code that does so for the "include" directive, so we shouldn't
need any real new code or logic); or at least, if some equivalent
directive is available.  If yes, we can enable automatic dependency
tracking (without having to worry about the GNU vs. non-GNU make issue
at all).  But sadly, it appears that in practice GNU make is the only
make flavor to actually implement this kind feature so far :-/ so all
of this is moot.

>> (which ignore non-existing files,
>>     rather than punting), and its use will allow us to get rid of
>>     the configure time machinery for the initial creation of .deps
>>     directories (this has already been done in Automake-NG, and has
>>     worked beautifully so far).
>>
>> I think the approach described above is acceptable because automatic
>> dependency tracking is important only for developers or power users,
>> and those should be using GNU make anyway.
> 
> I can't say I'm a big fan of breaking the current wide-support of
> automatic dependency tracking in Automake.  While not universal, the
> automatic dependency tracking currently works with many different make
> implementations (particularly those provided by the BSD flavours).
>
[In fact, it works with every version of make that supports the 'include'
directive -- including, e.g., Solaris make].

> I also don't agree with the rationale that only developers and "power
> users" need this feature.  The most obvious class of users who may need
> this feature are those applying patches sent by a maintainer to test a
> bug fix.
>
OK, fair point here.

> Particularly if those users are running on an exotic platform
> without GNU make
>
<complain-mode>
  Which makes me ask again, as I've done many times already: does such
  platforms truly exist, and if yes, are they really relevant and
  worth bending over backwards for?
</complain-mode>

> that the maintainer would not otherwise have access to.
> 
> Or users who want to run "git bisect" -- I've done this on packages with
> buggy incremental builds before, and it's not a lot of fun.
>
They could use GNU make for that.  Developers should be using it anyway ;-)

> Ideally, we should try to fix the bug before ripping out an
> otherwise-working feature.
>
If someone volunteers to write a patch for such a fix, I certainly won't
object to it.  But I'm not going to do it myself anytime soon (and likely,
not even anytime later).

Regards,
  Stefano