Thanks Bill, I will try to explain the rationale.
(components) beneath the SConstruct. Each SConscript tells SCons how to
build object files for that component.
settings (might be overridden in each SConscript!).
After loading all SConscripts I got a list with all objects to be built.
Then I call Program to generate the binary file in the SConstruct file.
The question is: I want to run a static analyzer on each source file. To be
information: defined symbols and include search path. I do not want to
modify any SConscript, but to do that in the SConstruct file. I though I
explained in my original message.
which obviously I do not want.
Send Scons-users mailing list submissions to
To subscribe or unsubscribe via the World Wide Web, visit
https://pairlist4.pair.net/mailman/listinfo/scons-users
or, via email, send a message with subject or body 'help' to
You can reach the person managing the list at
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Scons-users digest..."
1. Getting build action details (Nacho Piqueras)
2. Re: Getting build action details (Bill Deegan)
3. Re: Getting build action details (Bill Deegan)
4. Re: Fortran dependency in a higher directory (GUEZ Lionel)
5. Re: Getting build action details (Mats Wichmann)
----------------------------------------------------------------------
Message: 1
Date: Tue, 10 Apr 2018 08:05:20 +0200
Subject: [Scons-users] Getting build action details
mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Hello,
Given a list a nodes representing object files built by SCons, I would like
to get the resolved $CPPPATH list for each one.
Inspecting each file object I can see they contain a reference to the
executor object, and I tried using the overriden environment with the
executor to subst the variable, but without luck.
Given that some entries in CPPPATH list contain '#', others are absolute
paths and others are relative to the directory of the sconscript that told
SCons to generate that Object, I cannot find a way to easily get that
information.
Is there something in the Subst module that I can use?
Best regards!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/
attachments/20180410/c6e72ff9/attachment-0001.html>
------------------------------
Message: 2
Date: Tue, 10 Apr 2018 09:58:02 -0400
Subject: Re: [Scons-users] Getting build action details
<CAEyG4CEegB+axS2ih_JxUWuguBiZ-KpM9xOvSEv_+
Content-Type: text/plain; charset="utf-8"
Can you explain what you are trying to do?
(Why do you want to do this?)
That may point out other ways to accomplish what you need than the way you
have tried already.
Post by Nacho PiquerasHello,
Given a list a nodes representing object files built by SCons, I would
like to get the resolved $CPPPATH list for each one.
Inspecting each file object I can see they contain a reference to the
executor object, and I tried using the overriden environment with the
executor to subst the variable, but without luck.
Given that some entries in CPPPATH list contain '#', others are absolute
paths and others are relative to the directory of the sconscript that
told
Post by Nacho PiquerasSCons to generate that Object, I cannot find a way to easily get that
information.
Is there something in the Subst module that I can use?
Best regards!
_______________________________________________
Scons-users mailing list
https://pairlist4.pair.net/mailman/listinfo/scons-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/
attachments/20180410/b9d58c96/attachment-0001.html>
------------------------------
Message: 3
Date: Tue, 10 Apr 2018 09:58:17 -0400
Subject: Re: [Scons-users] Getting build action details
gmail.com>
Content-Type: text/plain; charset="utf-8"
Also, can you paste an small example.
Post by Nacho PiquerasCan you explain what you are trying to do?
(Why do you want to do this?)
That may point out other ways to accomplish what you need than the way
you
Post by Nacho Piquerashave tried already.
Post by Nacho PiquerasHello,
Given a list a nodes representing object files built by SCons, I would
like to get the resolved $CPPPATH list for each one.
Inspecting each file object I can see they contain a reference to the
executor object, and I tried using the overriden environment with the
executor to subst the variable, but without luck.
Given that some entries in CPPPATH list contain '#', others are absolute
paths and others are relative to the directory of the sconscript that
told
Post by Nacho PiquerasPost by Nacho PiquerasSCons to generate that Object, I cannot find a way to easily get that
information.
Is there something in the Subst module that I can use?
Best regards!
_______________________________________________
Scons-users mailing list
https://pairlist4.pair.net/mailman/listinfo/scons-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/
attachments/20180410/c0aea79f/attachment-0001.html>
------------------------------
Message: 4
Date: Tue, 10 Apr 2018 17:53:48 +0200
Subject: Re: [Scons-users] Fortran dependency in a higher directory
Content-Type: text/plain; charset=UTF-8
On Mon, 9 Apr 2018 10:48:40 -0400
Post by Nacho PiquerasIt's been a LONG time since I've worked with fortran.
I'm pointing you at the variables listed in the docs for you to
figure it out yourself.
I'm not in anyway contradicting what's in the docs..
I am not ignoring what you say: I read the description of all
Fortran variables in the doc (and I read the SCons 3.0.1 user guide
completely down to chapter 15).
I will try to be more precise. It is ambiguous to refer to "module
files". "Module file" could mean a compiled module interface (with
usually a .mod suffix) or it could mean a source Fortran file
containing one or more modules. The compilation system must be able to
search for compiled module interfaces (.mod files) in a set of
directories, without corresponding source files: this happens when a
program uses a Fortran library. And the compilation system must be able
to search for source module files, to be compiled, in another set of
directories, in order to figure out the order of compilation.
"The list of directories that the Fortran compiler will search for
include files and (for some compilers) module files."
I guess that, here, "module files" means compiled module interfaces. So
"The list of directories that the Fortran compiler will search for
include files and (for some compilers) compiled module interfaces
(files with suffix $FORTRANMODSUFFIX)."
"The Fortran implicit dependency scanner will search these directories
for include files (but not module files since they are autogenerated
and, as such, may not actually exist at the time the scan takes place)."
Here I guess that "module files" also means compiled module interfaces.
But there misses the information that the dependency scanner
WILL search these directories for source module files.
"The Fortran implicit dependency scanner will search these directories
for include files and source module files (but not compiled module
interfaces (files with suffix $FORTRANMODSUFFIX) since they are
autogenerated and, as such, may not actually exist at the time the scan
takes place)."
--
Lionel GUEZ
Laboratoire de m?t?orologie dynamique
?cole normale sup?rieure
24 rue Lhomond
75005 Paris
------------------------------
Message: 5
Date: Tue, 10 Apr 2018 14:36:51 -0600
Subject: Re: [Scons-users] Getting build action details
Content-Type: text/plain; charset=utf-8
Post by Nacho PiquerasAlso, can you paste an small example.
Post by Nacho PiquerasCan you explain what you are trying to do?
(Why do you want to do this?)
That may point out other ways to accomplish what you need than the way
you
Post by Nacho PiquerasPost by Nacho Piquerashave tried already.
Post by Nacho PiquerasHello,
Given a list a nodes representing object files built by SCons, I would
like to get the resolved $CPPPATH list for each one.
Inspecting each file object I can see they contain a reference to the
executor object, and I tried using the overriden environment with the
executor to subst the variable, but without luck.
Given that some entries in CPPPATH list contain '#', others are
absolute
Post by Nacho PiquerasPost by Nacho PiquerasPost by Nacho Piqueraspaths and others are relative to the directory of the sconscript that
told
Post by Nacho PiquerasPost by Nacho PiquerasPost by Nacho PiquerasSCons to generate that Object, I cannot find a way to easily get that
information.
Is there something in the Subst module that I can use?
I have at times sought something slightly similar so I'll point out: I
may be misunderstanding but the settings you care about are not
per-node, but per-construction-environment.
If there's just one construction environment, Dump() it. Since all the
scripts are executed first, that is the environment are built up before
the targets are acted on, put this at the end of your SConstruct and you
know what each of the targets will be encountering as they build. You
certainly don't have to dump the whole environment if you are just
interested in one variable from it, just extract that one instead.
However, if there are many environments you would need to Dump at
suitable places for each one you care about. I know of no great answer
in this case. [[this has driven me nuts in our project - just counted
again and there are 179 Clone() calls in this beast. sadly I can't wave
a magic wand and simplify this, I have to improve things piecemeal]]
This kind of edit-something-in-to-debug becomes painful if you have to
fiddle with a bunch of sconscripts, and doing it at the top, in the
SConstruct, is also problematic because it's not going to have the
context - it has no idea what environments have been created in the
things it has called (that may then have then called other things etc.)
------------------------------
Subject: Digest Footer
_______________________________________________
Scons-users mailing list
https://pairlist4.pair.net/mailman/listinfo/scons-users
------------------------------
End of Scons-users Digest, Vol 77, Issue 4
******************************************