[Scons-users] Emitters vs. Scanners

Bill Deegan bill at baddogconsulting.com
Fri Mar 11 18:21:51 EST 2016


Tom,

Likely DynamicSourceGenerator is overkill for u.

Can you create a small example to demonstrate your problem?

If a->b is entirely predictable, then is there a:

env.MyBuilder('b','a')
env.otherBuilder('c','b')

If SCons doesn't know that b is generated from a, then I can see the issue
you're running into.
lex/yacc do similar and have no issues..

-Bill

On Fri, Mar 11, 2016 at 5:07 PM, Plunket, Tom <
tom.plunket at aristocrat-inc.com> wrote:

> I am struggling with an issue where an intermediate file is getting
> scanned for targets even though it is about to get regenerated.  I’m
> curious if I need to change my Scanner into an Emitter or if there’s
> something else I should be considering?
>
>
>
> The flow is A->B->C, A is the input file which creates B. B is the primary
> source for C but (B) also lists a bunch of other files that need to go into
> C.  filename.a gets processed into filename.b and that, along with the
> results of the scan get bundled up into filename.c. The closest software
> construction analogy would be that A is like a “premake” or “makefile.in”
> file, B would be the makefile and would list the source files to be
> compiled, and C is the executable that results.
>
>
>
> If B exists, it gets scanned during dependency generation by the scanner,
> even if A has changed. This is a problem if B refers to invalid or
> otherwise broken dependencies that have been fixed by the changes to A,
> since I will not be able to build nor clean these items without manually
> deleting B.
>
>
>
> I’m looking at
> https://bitbucket.org/scons/scons/wiki/DynamicSourceGenerator but I’m not
> yet sure that it’ll fix my problem (or maybe it’s overkill) since B exists,
> it just needs to get recreated before getting scanned. (Could/should it be
> considered a deficiency to scan a file that’s scheduled for replacement in
> the first place?)
>
>
>
> Thanks and sorry for the corporate junk that the email gateway sticks on
> the end of this message.
>
>
>
> --
>
>
>
> IMPORTANT CONFIDENTIALITY NOTICE:
>
> This E-mail(including any documents referred to in, or attached, to this
> E-mail) may contain information that is personal, confidential or the
> subject of copyright or other proprietary rights in favor of Aristocrat,
> its affiliates or third parties. This E-mail is intended only for the named
> addressee. Any privacy, confidence, copyright or other proprietary rights
> in favor of Aristocrat, its affiliates or third parties, is not lost
> because this E-mail was sent to you by mistake.
>
> If you received this E-mail by mistake you should: (i) not copy, disclose,
> distribute or otherwise use it, or its contents, without the consent of
> Aristocrat or the owner of the relevant rights; (ii) let us know of the
> mistake by reply E-mail or by telephone (US 1-877-274-9661, or AU +61 2
> 9013 6000); and (iii) delete it from your system and destroy all copies.
>
> Any personal information contained in this E-mail must be handled in
> accordance with applicable privacy laws.
>
> Electronic and internet communications can be interfered with or affected
> by viruses and other defects. As a result, such communications may not be
> successfully received or, if received, may cause interference with the
> integrity of receiving, processing or related systems (including hardware,
> software and data or information on, or using, that hardware or software).
> Aristocrat gives no assurances in relation to these matters. If you have
> any doubts about the veracity or integrity of any electronic communication
> we appear to have sent you, please call (US 1-877-274-9661, or AU +61 2
> 9013 6000) for clarification.
>
> _______________________________________________
> 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/20160311/200b1c7b/attachment.html>


More information about the Scons-users mailing list