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