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