Package SCons :: Package Scanner :: Module RC
[hide private]
[frames] | no frames]

Source Code for Module SCons.Scanner.RC

 1  """SCons.Scanner.RC 
 2   
 3  This module implements the depenency scanner for RC (Interface 
 4  Definition Language) files. 
 5   
 6  """ 
 7   
 8  # 
 9  # Copyright (c) 2001 - 2014 The SCons Foundation 
10  # 
11  # Permission is hereby granted, free of charge, to any person obtaining 
12  # a copy of this software and associated documentation files (the 
13  # "Software"), to deal in the Software without restriction, including 
14  # without limitation the rights to use, copy, modify, merge, publish, 
15  # distribute, sublicense, and/or sell copies of the Software, and to 
16  # permit persons to whom the Software is furnished to do so, subject to 
17  # the following conditions: 
18  # 
19  # The above copyright notice and this permission notice shall be included 
20  # in all copies or substantial portions of the Software. 
21  # 
22  # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 
23  # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 
24  # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
25  # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 
26  # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 
27  # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 
28  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 
29  # 
30   
31  __revision__ = "src/engine/SCons/Scanner/RC.py  2014/09/27 12:51:43 garyo" 
32   
33  import SCons.Node.FS 
34  import SCons.Scanner 
35  import re 
36   
37 -def RCScan():
38 """Return a prototype Scanner instance for scanning RC source files""" 39 40 res_re= r'^(?:\s*#\s*(?:include)|' \ 41 '.*?\s+(?:ICON|BITMAP|CURSOR|HTML|FONT|MESSAGETABLE|TYPELIB|REGISTRY|D3DFX)' \ 42 '\s*.*?)' \ 43 '\s*(<|"| )([^>"\s]+)(?:[>"\s])*$' 44 resScanner = SCons.Scanner.ClassicCPP( "ResourceScanner", 45 "$RCSUFFIXES", 46 "CPPPATH", 47 res_re ) 48 49 return resScanner
50 51 # Local Variables: 52 # tab-width:4 53 # indent-tabs-mode:nil 54 # End: 55 # vim: set expandtab tabstop=4 shiftwidth=4: 56