[Scons-users] Dependency cycles. 2.4.1 -> 2.5.1

William Blevins wblevins001 at gmail.com
Mon Jan 9 19:02:47 EST 2017


Inline comments

On Mon, Jan 9, 2017 at 11:16 AM, Pierre-Luc Boily <pierreluc.boily at gmail.com
> wrote:

> William,
>
> TO your question "How are they being created" :  link
> <http://pastebin.com/J5RyTxve>
>
> env.Command(target = tgtCpp + tgtH + ccpp,
>                     source = idlFile,
>                     action = 'idlpp -S -l cpp -d ' +
> os.path.join(env['LOCALROOT'], 'sr', 'speech', 'common_dds') + ' $SOURCE')
>
> One idl file generates many .cpp and .h files, and I actually have 8 or 9
> idl files.  SO, I have a lot of cycle dependency errors.
>

Right. Prior to 2.5.0, there was no cross-language (IE. cross-scanner-key
domain) support. In your example, you go from the IDL domain to the C
domain. In builds < 2.5.0, SCons would not discover any implicit
dependencies within the secondary C domain. SCons would only have explicit
targets from the IDL domain which should have included any emitter outputs.
SCons did not evaluate imports in the secondary domain correctly because
the previous scanner type was being used (EG. C domain files scanned with
IDL domain scanner).


>
> But I am looking at headers files and I cannot see any mutual/cycle
> include.
> I do not fully undertand why SCons output this message.
>

I would need to see the sources and target contents to be sure, but based
on your _create_target function, your IDL build creates
num_targets_per_IDL=(num_paths_in_filenames=4 * num_file_types=3). These
should have existed previously I assume? Now you should also see
interdependencies on those file, correct? It would be great if it gave you
a filename or set of filenames with the issue, but it seems there is a bug
with that? Do you use side-effects anywhere?


>
> Like I said, I was looking at my tree generated with 2.4.1, and it looks
> weird.  I thought that maybe I was misusing targets/sources when generating
> from IDL file, from Command above.
>

It most likely was. Cross-language support is a new feature or a bug (but
never a regression bug).


>
> thx for your help
>
> Pierre-Luc
>
>
>
> --
> View this message in context: http://scons.1086193.n5.
> nabble.com/Dependency-cycles-2-4-1-2-5-1-tp40926p40939.html
> Sent from the Users mailing list archive at Nabble.com.
> _______________________________________________
> 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/20170109/8d0eb862/attachment.html>


More information about the Scons-users mailing list