[Scons-users] Emitters vs. Scanners

Plunket, Tom tom.plunket at aristocrat-inc.com
Fri Mar 11 17:07:43 EST 2016


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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20160311/fe43ddc8/attachment-0001.html>


More information about the Scons-users mailing list