X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senfscons%2FCompileCheck.py;h=95358a112897d3f0ed85c33fad1931e5bc8a9a5f;hb=a566e80849946339a19ff5cb3ad9522727cf96b9;hp=f1037f672257ba816529ef2bc39565a560bf1469;hpb=1ac8479aaaa1491e2668c6f09d042ae9de1f2113;p=senf.git diff --git a/senfscons/CompileCheck.py b/senfscons/CompileCheck.py index f1037f6..95358a1 100644 --- a/senfscons/CompileCheck.py +++ b/senfscons/CompileCheck.py @@ -1,5 +1,5 @@ import os, os.path, sys -from cStringIO import StringIO +import tempfile from SCons.Script import * import SCons.Scanner.C @@ -20,13 +20,14 @@ def CompileCheck(target, source, env): tests = scanTests(file(source[0].abspath)) cenv = env.Clone() cenv.Append( CPPDEFINES = { 'COMPILE_CHECK': '' } ) - out = StringIO() + out = tempfile.TemporaryFile() cenv['SPAWN'] = lambda sh, escape, cmd, args, env, pspawn=cenv['PSPAWN'], out=out: \ pspawn(sh, escape, cmd, args, env, out, out) Action('$CXXCOM').execute(target, source, cenv) passedTests = {} delay_name = None - for error in out.getvalue().splitlines(): + out.seek(0) + for error in out.read().splitlines(): elts = error.split(':',2) if len(elts) != 3 : continue filename, line, message = elts