Re: am I understand the tree properly?
Bill Deegan <[email protected]>
| Newsgroups | gmane.comp.programming.tools.scons.user |
|---|---|
| Message-ID | <CAEyG4CFcDHmvd138n386eyti_uBB_fq4wwYTa9b4iB6g4Fmb2Q@mail.gmail.com> |
Nope. The source/target list is manipulated in the emitter, not the action. Perhaps reading this wiki page would be helpful as it seems your understanding of tools/builders is incomplete. https://github.com/SCons/scons/wiki/ToolsForFools -Bill On Fri, Sep 17, 2021 at 4:47 AM daggs <[email protected]> wrote: > good to know, so basically, I can return target + [ ... ] in te builder > action func and that is it? > I assume it is calcualted in runtime, no? > > > *Sent:* Thursday, September 16, 2021 at 7:06 PM > *From:* "Bill Deegan" <[email protected]> > *To:* "SCons users mailing list" <[email protected]> > *Subject:* Re: [Scons-users] am I understand the tree properly? > 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 > _______________________________________________ > 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