Re: Where does scons determine the dependencies for object files?

Gary Oberbrunner <[email protected]>
Newsgroups gmane.comp.programming.tools.scons.devel
Message-ID <CAFChFyhvsS29oT=FZoArDgOSHwK9e6RpmN3J6mp6sHGick0yRA@mail.gmail.com>
The builder, in this case Object(), sets up the dependency between foo.o
and foo.c. The simplest way to do what you want is to create a
pseudo-builder that calls Object() and also calls Depends().

-- Gary

On Sun, Mar 25, 2018 at 1:07 PM, Andrew C. Morrow <[email protected]
> wrote:

>
> I'm fairly clear on where SCons learns of the dependencies for source
> files: that is in the CScanner attached to the SourceFileScanner in T
> ool/__init__.py.
>
> But where does SCons determine the dependencies of object files, such that
> those dependencies are checked to see if the object file needs to be
> rebuilt?
>
> More concretely, If I have libfoo.so made from foo.o made from foo.c
> which depends on foo.h, the CScanner in SourceScanner takes care of
> scanning for dependences in foo.c and finds foo.h. But what scans for
> dependences of foo.o and identifies foo.c?
>
> I ask because I would like to sometimes inject a new source-like
> dependency into compilations, such that foo.o will depend on not just
> foo.c but also some other file magic, such that if magic is changed then
> foo.o will need to be rebuilt.
>
> With such a mechanism, it would be possible to teach SCons that if an
> AddressSanitizer blacklist file known to be on the compile line like
> -fsanitize-blacklist=path/to/magic is referring to a blacklist file that
> is more up to date than the object file, then the object file should be
> rebuilt.
>
> Thanks,
> Andrew
>
>
>
>
> _______________________________________________
> Scons-dev mailing list
> [email protected]
> https://pairlist2.pair.net/mailman/listinfo/scons-dev
>
>


-- 
Gary

_______________________________________________
Scons-dev mailing list
[email protected]
https://pairlist2.pair.net/mailman/listinfo/scons-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.