VS 2013 supports cross-compiling for x86 and arm from amd64, but Waf
wouldn't search for these compilers.
Change-Id: I5b0d6809b666587d5aea19e6491fa7f0572c1a40
Type: Bug Fix
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
Previously the msvc tool was re-using the install_task set up by ccroot
in apply_link by appending files to install_task.sources.
This is problematic because the install task is posted by the time the
call to install_files returns and the post method of the install task
copies files from sources to inputs and inputs as the list of files
that get installed. This usually worked due to the fact that the
install_task does not guard against getting posted multiple times. In
some situations such as installing and building a single target using
the --targets flag this was not working and pdb files would not be
installed.
This updates the msvc tool to create a separate task to install the
pdb files instead of re-using the existing install_task. This fixes
the issue observed with pdb files not being installed when building and
installing a single target and is also consistent with how other files
are being installed from ccroot such as in apply_implib and apply_vnum.
Change-Id: I9fc53061847453fdb5cf105f2276a2eab5fd43b4
Type: Bug Fix
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
Chain down to the pre-existing Task.exec_command() implementation if
task.env.CC_NAME indicates that the current taskgen isn't building using
Microsoft tools.
Attempt #2. The previous version (9b443a4e, reverted in 148598a8) was
found in Issue 1243 to lead to unusual infinite regress if the
monkeypatching code executed more than once in a Python interpreter
lifetime. This version uses dynamic subclassing to avoid that problem.
Issue 1237.
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
Chain down to the pre-existing Task.exec_command() implementation
if task.env.CC_NAME indicates that the current taskgen isn't building
using Microsoft tools.
Issue 1237.
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>