[Scons-users] Scons Implicity Dependency not found issue

Hua Yanghao huayanghao at gmail.com
Fri Oct 26 14:11:07 EDT 2018


On Fri, Oct 26, 2018 at 6:09 PM Jason Kenny <dragon512 at live.com> wrote:
>
> I think I solved this problem in Parts already. Each "component" gets builds and has a set of dependencies on other components. These dependency allow the passing of  various values such as CPPPATH etc so only the ideal paths and location are known when the component builds. This prevent the issues of picking up headers from random components that may cause a circular depends or unexpected depends on other component.

This is a very good point and it is actually on my TODO list for more
than a year already ... In my case components can define a macro which
passed to top level and this way serves as a
inter-component-communication mechanism. For me the module
inter-dependency should not only be object-compilable, but also
linkable to avoid some silly header file declares functions the module
doesn't really implement.

> But to try to answer you question... if you use duplicate=0 and you copy a header file in to the variant directory.. this should take over as the one seen first. It also should be a mirror of the srcnode version. ie contents of node and node.srcnode() should be the same.

No that is not my intention. I never copy any files from my code, I
was only relying scons to duplicate header files. I do create
on-the-fly generated header files directly in the variant_dir. If I
create a target header file in variant_dir with the same path/name as
in the src dir, then whichever file scons choose it is wrong. I kind
of avoid this situation though though a checking script to make sure
no two header file are of the same name ...


More information about the Scons-users mailing list