2
0
mirror of https://gitlab.com/ita1024/waf.git synced 2024-11-22 09:57:15 +01:00

Added a warning message about the intel compilervars_arch.bat file because it only searches for \IDE\VSWinExpress.exe to determine if VS Express is installed. However, Microsoft have changed up VS2012 with differnt SKUs that install with different executable names. I have filed this on the Intel forums at http://software.intel.com/en-us/forums/topic/328487 and hoping for a fix in 2013.03 C++ composer. In the meantime it checks the compilervars_arch.bat to see if the VS2012 express SKU it is searching for is not installed and prints a warning, only once, about patching the batch script. Without the patch the intel compiler cannot be found for command line processing with any Visual Studio Express SKU other than the one for Windows 8

Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
This commit is contained in:
Matt Clarkson 2012-12-10 10:32:24 +00:00 committed by Thomas Nagy
parent 3723b8bdbe
commit c7529b3a09

View File

@ -486,6 +486,21 @@ def gather_intel_composer_versions(conf, versions):
targets.append((target,(arch,conf.get_msvc_version('intel',version,target,batch_file))))
except conf.errors.ConfigurationError as e:
pass
# The intel compilervar_arch.bat is broken when used with Visual Studio Express 2012
# http://software.intel.com/en-us/forums/topic/328487
compilervars_warning_attr = '_compilervars_warning_key'
if version[0:2] == '13' and getattr(conf, compilervars_warning_attr, True):
setattr(conf, compilervars_warning_attr, False)
patch_url = 'http://software.intel.com/en-us/forums/topic/328487'
compilervars_arch = os.path.join(path, 'bin', 'compilervars_arch.bat')
vs_express_path = os.environ['VS110COMNTOOLS']+'..\IDE\VSWinExpress.exe'
dev_env_path = os.environ['VS110COMNTOOLS']+'..\IDE\devenv.exe'
if (r'if exist "%VS110COMNTOOLS%..\IDE\VSWinExpress.exe"' in Utils.readf(compilervars_arch) and
not os.path.exists(vs_express_path) and not os.path.exists(dev_env_path)):
Logs.warn(('The Intel compilervar_arch.bat only checks for one Visual Studio SKU '
'(VSWinExpress.exe) but it does not seem to be installed at \'%s\'. '
'The intel command line set up will fail to configure unless the file \'%s\''
'is patched. See : %s') % (vs_express_path, compilervars_arch, patch_url))
except WindowsError:
pass
major = version[0:2]