[Scons-dev] VariantDir source paths in .sonsign.dblite file

Jason Kenny dragon512 at live.com
Thu Oct 1 17:21:17 EDT 2015


Yes in that I have modified csig data I make Parts. This data does add to the full memory print. I strore a lot of extra information. but for a run with a 4-5GB Node tree, which i had in a large build i supported Parts node info was about 700-800MB. 
Ideally one of the things I am looking at at the moment is a better DB.. ie some sort of NOSQL style DB in which i can store and get  information about a given item ( Node in this case) without having to load everything. My current imple of pickle files is add memory and time over head as stuff is written/read from disk. ( any suggestions??)  Once this is done it should be safe to modify the SCons ( with interactive mode i hope) node.visit method so we can remove the NSIG information from the node tree and only load it again if needed. Since this should only be needed in two/three cases:
1) we are in interactive mode as the user told the system to build again.2) In parts when i hopefully add the stream build support daemon ( a modified interactive build case)3) In Parts when it loading information so it can figure out what to not to load to do a faster and correct incremental build.
The main effect should be when we do a scons run with --debug=memory we should see the size go down, not up by the end of the run.
Jason
Date: Thu, 1 Oct 2015 17:00:16 -0400
From: bill at baddogconsulting.com
To: scons-dev at scons.org
Subject: Re: [Scons-dev] VariantDir source paths in .sonsign.dblite file

Jason,

Does this impact (in any meaningful way) the memory footprint of your SCons runs?

-Bill

On Thu, Oct 1, 2015 at 4:52 PM, Jason Kenny <dragon512 at live.com> wrote:



Hi Julian
The csig information stored in the SCons DB only contains information about the given Node. The relationship between a "srcnode" and the "Variant" is connected at runtime as the builders/scanner set up the node tree. The way i have had to deal with this with my add to SCons ( called Parts) was to stored the ID of the src node to a given Variant node in my own DB. From this you can get the information you would want. I would suggest if you want this information post build to do something else with it, you will need to store you own data to parse.
Jason 

From: jrosen at qti.qualcomm.com
To: scons-dev at scons.org
Date: Thu, 1 Oct 2015 20:37:25 +0000
Subject: Re: [Scons-dev] VariantDir source paths in .sonsign.dblite file









Hi Bill,

 

Feel free to switch this conversation over to the scons-users group.

 

In a nutshell – I need to establish dependency tree information with source paths.

This is for supporting builds shipped to customers where we need to re-establish artifacts that go into building a library – for example, where we may ship partial
 source and partial *.o files.

The list of files fed into this API need to have “correct” paths – as in paths where they files actually reside.

 

Thx,

                Julian

 

 

From: Scons-dev [mailto:scons-dev-bounces at scons.org]
On Behalf Of Bill Deegan

Sent: Thursday, October 01, 2015 1:24 PM

To: SCons developer list

Subject: Re: [Scons-dev] VariantDir source paths in .sonsign.dblite file

 






Julian,


What are you trying to do with the information?


BTW. This question is likely more appropriate for the scons-users group as the dev group is meant for use discussing the development of SCons itself, and the users mailing list for people building build systems
 using SCons.


Thanks,


Bill



 


On Thu, Oct 1, 2015 at 1:12 PM, Rosenthal, Julian <jrosen at qti.qualcomm.com> wrote:


Hi,



Quick question regarding VariantDir paths for sources (*.c) stored in .sconsign.dblite files.

I'm very happy to see that dependency info can be retrieved this way.

Unfortunately, I have a need for the actual source paths rather than the VariantDir paths information in my case.



Is there an option for sconsign to output this information with actual source paths?

Is there a way to convert this information back to actual source paths (after the fact)?

I can see how I could convert this back knowing what VARIANTDIR is, but even then I have to make some assumptions as to the actual source path. (<PARTIAL SOURCE PATH> versus <SOURCE PATH> in the example below)



Example:

Following information is available in sconsign for an example source file:

<BUILD_ROOT>/<PARTIAL SOURCE PATH>/<VARIANTDIR>/<SOURCE FILE>



I need the info to be the following:

<BUILD_ROOT>/<SOURCE PATH>/<SOURCE FILE>



I need the location of the source file (*.c) before it is copied to VARIANTDIR.



Thx for any pointers.



Sincerely,

        Julian Rosenthal

_______________________________________________

Scons-dev mailing list

Scons-dev at scons.org

https://pairlist2.pair.net/mailman/listinfo/scons-dev



 






_______________________________________________
Scons-dev mailing list
Scons-dev at scons.org
https://pairlist2.pair.net/mailman/listinfo/scons-dev 		 	   		  

_______________________________________________

Scons-dev mailing list

Scons-dev at scons.org

https://pairlist2.pair.net/mailman/listinfo/scons-dev





_______________________________________________
Scons-dev mailing list
Scons-dev at scons.org
https://pairlist2.pair.net/mailman/listinfo/scons-dev 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20151001/abfbf5b3/attachment-0001.html>


More information about the Scons-dev mailing list