cons-discuss
[Top][All Lists]
Advanced

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

Re: Dependency flaw in cons (and scons) ?


From: Johan Holmberg
Subject: Re: Dependency flaw in cons (and scons) ?
Date: Mon, 25 Feb 2002 15:33:10 +0100 (MET)

On Mon, 25 Feb 2002, Brad Garcia wrote:
>
> I'm not really concerned by Johan's example of two different Command
> invocations.  Especially since, in his example, the target filename
> is part of the command line, and therefore I believe it doesn't
> demonstrate the problem.  And even when the command line does not contain
> the target filename, if the command is the same, then the output will
> be the same, even if it is placed in a different file.  So I think that
> example is a non-issue.
>

You should note that the command lines included in the signature
calculations are *before* expansion of %< and %>. If I add a
debug-print statement to the "cons.pl" script in the method
"file::_build" I get ("scriptsig" are the command lines used in
signature calculations):

        $ perl cons.pl .
        scriptsig = 'cp %< %>'
        file      = 'bar.c', sig='4cfc6160dd36e63eced36c8927529089'

        scriptsig = 'gcc   -c %< -o %>'
        file      = 'bar.o', sig='df1df1d76d8c81c186c066d3effe3964'

        scriptsig = 'cp %< %>'
        file      = 'foo.c', sig='4cfc6160dd36e63eced36c8927529089'

        scriptsig = 'gcc   -c %< -o %>'
        file      = 'foo.o', sig='df1df1d76d8c81c186c066d3effe3964'

        scriptsig = 'cp %< %>'
        file      = 'foo_or_bar.o', sig='e1393c5fc0c2ea92e29f19192fc1aed4'

        cons.pl: "." is up-to-date.

So my example really have several files with exactly the same
signatures (eg. "foo.o" and "bar.o").

I admit that my example Construct file is a bit contrived, but I made
it just to show that more files than you would expect, have
*identical* signatures.

Were you aware of that ?

>
> But, I will continue arguing with myself ;^).
>

Mee too ;-)

/Johan Holmberg






reply via email to

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