[Scons-users] am I understand the tree properly?

Bill Deegan bill at baddogconsulting.com
Fri Sep 17 12:04:33 EDT 2021


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 <daggs at gmx.com> 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" <bill at baddogconsulting.com>
> *To:* "SCons users mailing list" <scons-users at scons.org>
> *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 <daggs at gmx.com> 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" <bill at baddogconsulting.com>
>> *To:* "SCons users mailing list" <scons-users at scons.org>
>> *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 <daggs at gmx.com> 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" <bill at baddogconsulting.com>
>>> *To:* "SCons users mailing list" <scons-users at scons.org>
>>> *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 <daggs at gmx.com> 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" <bill at baddogconsulting.com>
>>>> *To:* "SCons users mailing list" <scons-users at scons.org>
>>>> *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 <daggs at gmx.com> 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
>>>>> Scons-users at scons.org
>>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>
>>>> _______________________________________________ Scons-users mailing
>>>> list Scons-users at scons.org
>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>> _______________________________________________
>>>> Scons-users mailing list
>>>> Scons-users at scons.org
>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>
>>> _______________________________________________ Scons-users mailing list
>>> Scons-users at scons.org
>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>> _______________________________________________
>>> Scons-users mailing list
>>> Scons-users at scons.org
>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>
>> _______________________________________________ Scons-users mailing list
>> Scons-users at scons.org
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>> _______________________________________________
>> Scons-users mailing list
>> Scons-users at scons.org
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
> _______________________________________________ Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20210917/263416da/attachment.htm>


More information about the Scons-users mailing list