scons: Fix implicit python dependency discovery on Windows.
authorJosé Fonseca <jfonseca@vmware.com>
Sat, 8 Jun 2013 07:55:06 +0000 (08:55 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Sat, 8 Jun 2013 07:55:06 +0000 (08:55 +0100)
Probably due to CRLF endings, the discovery of python import statements
was not working on Windows builds, causing incremental builds to often
fail unless one wiped out the build directory.

NOTE: This is a candidate for stable branches.

scons/custom.py

index 658df97829bac571b1e466ab61ee57aec3cebc1f..39a5333fd014ec4b6e89dc301fb08dbd89bbf05d 100644 (file)
@@ -95,7 +95,7 @@ def createConvenienceLibBuilder(env):
 
 # TODO: handle import statements with multiple modules
 # TODO: handle from import statements
-import_re = re.compile(r'^import\s+(\S+)$', re.M)
+import_re = re.compile(r'^\s*import\s+(\S+)\s*$', re.M)
 
 def python_scan(node, env, path):
     # http://www.scons.org/doc/0.98.5/HTML/scons-user/c2781.html#AEN2789
@@ -113,6 +113,7 @@ def python_scan(node, env, path):
             if os.path.exists(file):
                 results.append(env.File(file))
                 break
+    #print node, map(str, results)
     return results
 
 python_scanner = SCons.Scanner.Scanner(function = python_scan, skeys = ['.py'])