RC.py (scons-4.2.0) | : | RC.py (SCons-4.3.0) | ||
---|---|---|---|---|
skipping to change at line 27 | skipping to change at line 27 | |||
# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE | # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE | |||
# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |||
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | |||
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | |||
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | |||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |||
"""Dependency scanner for RC (Interface Definition Language) files.""" | """Dependency scanner for RC (Interface Definition Language) files.""" | |||
import SCons.Node.FS | import SCons.Node.FS | |||
import SCons.Scanner | from . import ClassicCPP | |||
def no_tlb(nodes): | def no_tlb(nodes): | |||
"""Filter out .tlb files as they are binary and shouldn't be scanned.""" | """Filter out .tlb files as they are binary and shouldn't be scanned.""" | |||
# print("Nodes:%s"%[str(n) for n in nodes]) | # print("Nodes:%s"%[str(n) for n in nodes]) | |||
return [n for n in nodes if str(n)[-4:] != '.tlb'] | return [n for n in nodes if str(n)[-4:] != '.tlb'] | |||
def RCScan(): | def RCScan(): | |||
"""Return a prototype Scanner instance for scanning RC source files""" | """Return a prototype Scanner instance for scanning RC source files""" | |||
res_re = ( | res_re = ( | |||
r'^(?:\s*#\s*(?:include)|' | r'^(?:\s*#\s*(?:include)|' | |||
r'.*?\s+(?:ICON|BITMAP|CURSOR|HTML|FONT|MESSAGETABLE|TYPELIB|REGISTRY|D3 DFX)' | r'.*?\s+(?:ICON|BITMAP|CURSOR|HTML|FONT|MESSAGETABLE|TYPELIB|REGISTRY|D3 DFX)' | |||
r'\s*.*?)' | r'\s*.*?)' | |||
r'\s*(<|"| )([^>"\s]+)(?:[>"\s])*$' | r'\s*(<|"| )([^>"\s]+)(?:[>"\s])*$' | |||
) | ) | |||
resScanner = SCons.Scanner.ClassicCPP( | resScanner = ClassicCPP( | |||
"ResourceScanner", "$RCSUFFIXES", "CPPPATH", res_re, recursive=no_tlb | "ResourceScanner", "$RCSUFFIXES", "CPPPATH", res_re, recursive=no_tlb | |||
) | ) | |||
return resScanner | return resScanner | |||
# Local Variables: | # Local Variables: | |||
# tab-width:4 | # tab-width:4 | |||
# indent-tabs-mode:nil | # indent-tabs-mode:nil | |||
# End: | # End: | |||
# vim: set expandtab tabstop=4 shiftwidth=4: | # vim: set expandtab tabstop=4 shiftwidth=4: | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added |