[Scons-users] Just abandoned an attempt to subclass Node.FS.Dir() .. alternative?

Bill Deegan bill at baddogconsulting.com
Wed Dec 10 23:25:43 EST 2014


Sounds like you may need to write your own decider for this builder..

See the manpage and seach for decider.
http://scons.org/doc/production/HTML/scons-man.html

Then you could use a "token" target for your builder (any file you always
know is created) and your decider can query your libs?

-Bill

On Tue, Dec 9, 2014 at 3:18 PM, Dirk Bächle <tshortik at gmx.de> wrote:

> Matthew,
>
> On 09.12.2014 23:21, Matthew Swabey wrote:
>
>> I think you have helped me think about the problem properly - the first
>> step in succeeding!
>>
>> [...]
>> >
>> The problem I have with the HDL files is that their compilation results
>> in an entry in this opaque library "directory" which updates the _info
>> file and creates subdirs with mangled names.
>>
>
> so you have something like:
>
>   env.ModelsimIniFile('target.ini', ['source1.vhdl','source2.vhdl',
> 'source3.vhdl'])
>
> , where you run the single compiles in your Builder (probably by defining
> the required Action as Python function, or using a pseudo-Builder).
>
>> However I can query the library with the provided binary "vdir",
>> extracting lists of source files used to make things, properties of the
>> compile including dates and times, etc.
>>
> In a next step, you can then "link" this INI file to whatever other output
> (libs, packages,...) you want to create additionally:
>
>   env.ModelsimLib('myvhdl.lib', 'target.ini')
>
> . Note, that the actual commands or actions that get executed in
> ModelsimLib() for creating the target don't have to use the given sources
> at all. The variable "$SOURCE" gets set to 'target.ini' and you can use it,
> but you don't have to. Liek above, it will trigger the rebuild of your
> 'myvhdl.lib' when the INI file changes.
> It's good that you can query parts of your project info via the "vlib"
> command, but you also have to make up your mind about "when" exactly this
> should happen. Which files (children in the dependency graph) have to
> change their contents, in order to trigger a rebuild?
>
> All other targets that get created additionally by the actions in the
> Modelsim* Builders can get marked by env.Clean(), such that they get
> removed when the target is cleaned.
>
> There is probably more to it, and I don't really intend to provide a full
> solution for you (that's your homework ;) ). But it hopefully shows a
> little how your train of thought should look like...
>
> Don't stop asking questions, please.
>
> Regards,
>
> Dirk
>
>
>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20141210/ac986b6a/attachment-0001.html>


More information about the Scons-users mailing list