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

Bill Deegan bill at baddogconsulting.com
Tue Sep 14 19:25:15 EDT 2021


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/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
>> 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/20210914/ee1bae30/attachment-0001.htm>


More information about the Scons-users mailing list