Re: am I understand the tree properly?
Bill Deegan <[email protected]>
| Newsgroups | gmane.comp.programming.tools.scons.user |
|---|---|
| Message-ID | <CAEyG4CG_4DAG6TEfHTKV_dhkz-HtE4qL7Ly2V+AGZb9dNrjGEA@mail.gmail.com> |
if a file shows as a dependency via the tree, then it's parent should wait for it to be ready. What do you mean by out of order? Not the order you expect? or is a dependency not being met and a builder being run before it's sources are ready? You can use "--taskmastertrace=FILE" arg to scons to dump debug info on the processing of the dependency tree. But I'd be very surprised if there was a bug there. A common error is to put call a builder/Command() with target and source arguments in the wrong order. Or is it that the file which isn't ready yet is one which is found via a scanner (for example an included header file)? Also.. if you set a Dir() as a source, it will not be out of date if it's contents change. On Tue, Sep 14, 2021 at 11:11 AM daggs <[email protected]> wrote: > I see, any tips on how to debug why the build is out of order? > > Dagg > > > *Sent:* Tuesday, September 14, 2021 at 7:04 PM > *From:* "Bill Deegan" <[email protected]> > *To:* "SCons users mailing list" <[email protected]> > *Subject:* Re: [Scons-users] am I understand the tree properly? > You're making my eye's bleed with that.. ;) > > There's no guarantee of order. > That said any target which is "ready" to build will be built when a build > slot is available. > ready = nothing builds it's sources, depends, or implicit dependencies, or > all those three are already built(or not out of date) at that point in time. > > -Bill > > On Tue, Sep 14, 2021 at 8:31 AM daggs <[email protected]> wrote: > >> Greetings, >> >> I'm trying to debug an dependency issue on my build and I want to be sure >> I understand the deps tree properly, here is the tree: >> +-target_a >> +-output/.dummy_targets/target_a >> +-output/.stages/a/target_a >> +-output/.stages/b/target_a >> +-output/.stages/c/target_a >> +-output/.stages/d/target_a >> +-output/.stages/e/target_a >> | +-output/.stages/f/target_a >> | | +-output/.stages/f/target_a >> | | | +-output/.stages/h/target_a >> | | | +-src/data_files.ini >> | | +-output/data/target_a.data >> | +-src/dbs/target_a/a.db >> | +-src/dbs/target_a/b.db >> +-output/db_daemon.run >> +-scripts/start_db_daemon.sh >> >> so, as I understand it, scripts/start_db_daemon.sh, src/data_files.ini, >> src/dbs/target_a/a.db and src/dbs/target_a/b.db >> are the first targets to get handled, then output/db_daemon.run and >> output/.stages/h/target_a. >> next output/.stages/f/target_a, followed by output/.stages/f/target_a, >> output/.stages/e/target_a and from there is it simple. >> am I right? >> >> Thanks, >> >> Dagg >> , >> >> , >> >> >> _______________________________________________ >> Scons-users mailing list >> [email protected] >> https://pairlist4.pair.net/mailman/listinfo/scons-users > > _______________________________________________ Scons-users mailing list > [email protected] > https://pairlist4.pair.net/mailman/listinfo/scons-users > _______________________________________________ > Scons-users mailing list > [email protected] > https://pairlist4.pair.net/mailman/listinfo/scons-users > _______________________________________________ Scons-users mailing list [email protected] https://pairlist4.pair.net/mailman/listinfo/scons-users