Re: Accommodating dependency cycles.

Gary Oberbrunner <[email protected]>
Newsgroups gmane.comp.programming.tools.scons.devel
Message-ID <CAFChFyja9wQ6D-JbaM3Fz_xtrCL5OTNmPHVGNEf8_fHLYv80Sg@mail.gmail.com>
On Wed, Mar 22, 2017 at 6:15 PM, William Blevins <[email protected]>
wrote:

> //source.cpp
> #include "source.gen.h"
> int main() { return 0; }
>
> //SConstruct
> e = Environment()
> e.Command("source.gen.h", "source.cpp", Copy('$TARGET', '$SOURCE')) #
> "generator"
> e.Program("source.cpp")
>
> This code works fine in Scons 2.1, but Scons 2.5.1 produce error:
> scons: *** Found dependency cycle(s):
>   source.gen.h -> source.gen.h
>
> If I'm reading this correctly, I don't see a cycle.
"source" depends on source.cpp and source.gen.h.
source.gen.h depends on source.cpp.
source.cpp is a source, doesn't depend on anything.
Now source.gen.h includes itself, which is weird, but shouldn't all by
itself cause a loop as long as the scanner knows it's already seen that
file.
source.gen.h should definitely not depend on itself.

(Not saying the current code doesn't detect a cycle, just that in the
abstract there shouldn't actually be one.)


-- 
Gary

_______________________________________________
Scons-dev mailing list
[email protected]
https://pairlist2.pair.net/mailman/listinfo/scons-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.