Just tried to compile "examples/c" with MSVC. There is an error with killableprocess.py. I bypassed this error in the Felix copy of fbuild by switching to generic subprocess.py. That being said we might be losing some functionality by dropping the killable process.
--
Garrett
c:\code\fbuild\examples\c>python c:\code\fbuild\fbuild-light
checking cl.exe : Traceback (most recent call last):
File "c:\code\fbuild\fbuild-light", line 13, in <module>
exec(compile(f.read(), fbuild_exename, 'exec'))
File "c:\code\fbuild\bin\fbuild", line 162, in <module>
sys.exit(main())
File "c:\code\fbuild\bin\fbuild", line 139, in main
result = build(ctx)
File "c:\code\fbuild\bin\fbuild", line 82, in build
target.function(ctx)
File "c:\code\fbuild\examples\c\fbuildroot.py", line 5, in build
static = fbuild.builders.c.guess_static(ctx)
File "c:\code\fbuild\lib\fbuild\builders\c\__init__.py", line 371, in guess_static
), *args, **kwargs)
File "c:\code\fbuild\lib\fbuild\builders\c\__init__.py", line 346, in _guess_builder
return fbuild.functools.call(function, ctx, *args, **new_kwargs)
File "c:\code\fbuild\lib\fbuild\functools.py", line 32, in call
return import_function(function)(*args, **kwargs)
File "c:\code\fbuild\lib\fbuild\builders\c\msvc.py", line 524, in static
compiler=Compiler(ctx, Cl(ctx, **kwargs),
File "c:\code\fbuild\lib\fbuild\db\__init__.py", line 68, in __call__
*args, **kwargs)
File "c:\code\fbuild\lib\fbuild\db\database.py", line 162, in call
call_result = function(*args, **kwargs)
File "c:\code\fbuild\lib\fbuild\db\__init__.py", line 64, in __call_super__
return super().__call__(*args, **kwargs)
File "c:\code\fbuild\lib\fbuild\builders\c\msvc.py", line 38, in __init__
if not self.check_flags(flags):
File "c:\code\fbuild\lib\fbuild\builders\c\msvc.py", line 113, in check_flags
self([src], flags=flags, quieter=1, cwd=src.parent)
File "c:\code\fbuild\lib\fbuild\builders\c\msvc.py", line 100, in __call__
return self.ctx.execute(cmd, msg2=msg2, **kwargs)
File "c:\code\fbuild\lib\fbuild\context.py", line 185, in execute
**kwargs)
File "C:\Python34\lib\subprocess.py", line 862, in __init__
restore_signals, start_new_session)
File "c:\code\fbuild\lib\fbuild\subprocess\killableprocess.py", line 164, in _execute_child
winprocess.EnvironmentBlock(env),
File "c:\code\fbuild\lib\fbuild\subprocess\winprocess.py", line 127, in __init__
for (key, value) in dict.items()]
AttributeError: 'Path' object has no attribute 'items'