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

Bill Deegan bill at baddogconsulting.com
Thu Sep 16 12:06:03 EDT 2021


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20210916/3cd13f2f/attachment.htm>


More information about the Scons-users mailing list