Re: am I understand the tree properly?
Bill Deegan <[email protected]>
| Newsgroups | gmane.comp.programming.tools.scons.user |
|---|---|
| Message-ID | <CAEyG4CFU7+8ncVv+=rawvrmetjo2qcG1VuGCmsTysYSdeRiqMw@mail.gmail.com> |
you are incorrect. N targets, N sources. N implicit dependencies (scanned include files for example), n Depends. On Wed, Sep 15, 2021 at 11:35 PM daggs <[email protected]> wrote: > no because afaik, the can be only one target, am I wrong? > > Dagg > > > *Sent:* Thursday, September 16, 2021 at 2:04 AM > *From:* "Bill Deegan" <[email protected]> > *To:* "SCons users mailing list" <[email protected]> > *Subject:* Re: [Scons-users] am I understand the tree properly? > are you listing output/data/target_a.data as a target for whatever builder > produces it? > (I'm guessing not...) > > On Wed, Sep 15, 2021 at 12:17 PM daggs <[email protected]> wrote: > >> Greetngs Bill. >> >> thank you for the tips, I'll take them into account. >> regardless Iv'e found my issue, figures it won't work right if you use >> c&p... >> >> there is one thing I'm curious about, output/data/target_a.data is a >> byproduct of the creation of output/.stages/h/target_a >> so it is logical to output/.stages/g/target_a. >> however if I run it on a clean tree, I get and error that the target >> isn't found, ll output/.stages/g/target_a returns a mach and if I run it >> again, it works. >> is this behavior because it is an inplicit target? >> >> Thanks. >> >> Dagg >> >> *Sent:* Wednesday, September 15, 2021 at 2:25 AM >> *From:* "Bill Deegan" <[email protected]> >> *To:* "SCons users mailing list" <[email protected]> >> *Subject:* Re: [Scons-users] am I understand the tree properly? >> 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/g/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 >> _______________________________________________ >> 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