On 5/11/24 06:11, Dmitry Goncharov wrote:
On Wed, May 8, 2024 at 2:04 PM JZB <j...@z2zcorp.com> wrote:
... perhaps a command line option or a ".CIRCULARERROR:" rule
or some way to allow this to be turned on by those who need it?
There is currently no mechanism (option or otherwise) to fail on a
circular dependency.
On top of that, there are situations when make drops a circular
dependency silently.
See https://savannah.gnu.org/bugs/?60736.
regards, Dmitry
Thanks Dmitry, that provides some background.
To be honest, I don't quite understand Paul's logic, in that his
approach to a global .EXTRA_PREREQS silence should be the exception, not
the default. I can screw-up a global .EXTRA_PREREQS just as readily as
I can a target-specific one, maybe even more so.
However, if there existed a rule, such as what I proposed, a
".CIRCULARERROR:", and it should be global, never target specific
(should be easier to implement), because I either care about circular
dependencies being errors or I don't (and that is project-wide, not
per-target), and have that take precedence over the
silent/not-silent-warning issue, it would actually be a compromise
between the two sides on
> https://savannah.gnu.org/bugs/?60736.
In other words, current behaviour stays as Paul has it, but if the user
wants circular dependencies to be errors, then Dmitry's algorithm has
prioriry, and yes, that should include .EXTRA_PREREQS as well.
--jzb