bug-make
[Top][All Lists]
Advanced

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

Re: Idea: Add command-line option for reporting potential makefile error


From: Paul Smith
Subject: Re: Idea: Add command-line option for reporting potential makefile errors
Date: Wed, 12 Jun 2019 16:02:15 -0400

On Tue, 2019-06-11 at 22:09 -0400, David A. Wheeler wrote:
> Basically, when running a rule, make could enable strace to see
> what is *actually* getting checked/read & written, compare that to
> what the rule *claims* are the prerequisites & targets, and then
> complain about differences.

At this time my opinion is that this is a "bridge too far" and I'm not
inclined to accept any changes like this.  I feel that it's too far
outside of (what I consider) make's purview, too system-specific,
tricky to get right (consider recursion... are you going to be watching
all the submakes and all the things THEY watch?) etc.

As DavidB pointed out, there are already project that attempt to
provide some of these features and I'm perfectly fine with asking people who 
want them, to go find them.  And if you consult with him you'll no doubt learn 
that "just use strace" is far too simplistic for what is actually needed to 
make this work well.

I get that having a make that "does everying right out of the box" is
seductive, but I'm not on board at this point.

I would be willing to work with people who wanted to implement such
things as loadable modules in GNU make, to ensure that the loadable
module API is enhanced in such a way that writing a module like this is
feasible.  Currently it would be difficult since it's not easy to
modify the rules database through that API (you basically have to call
the eval function... which makes it possible but not ideal) and there
are no hooks into the module when running recipes themselves.

So, conversations about the existence or validity of patents in this
area are moot as far as I'm concerned :).




reply via email to

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