Make configure.exe only detect each compiler once

After commit e0acf65043, configure.exe
built with the x64 compiler could detect the same compiler twice,
breaking the -platform detection even when only one compiler is in the
path. Fix this by taking advantage of the CompilerInfo struct ordering
and ignore detection of the same compiler.

Change-Id: I583230520d2e0859196f9d7c8af31adbb981a6ca
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
bb10
Bradley T. Hughes 2012-02-27 11:21:10 +01:00 committed by Qt by Nokia
parent 494ed1d536
commit fa5cf01e74
1 changed files with 24 additions and 4 deletions

View File

@ -162,8 +162,18 @@ Compiler Environment::detectCompiler()
QStringList::iterator it;
for(it = pathlist.begin(); it != pathlist.end(); ++it) {
if((*it).contains(productPath)) {
++installed;
detectedCompiler = compiler_info[i].compiler;
if (detectedCompiler != compiler_info[i].compiler) {
++installed;
detectedCompiler = compiler_info[i].compiler;
}
/* else {
We detected the same compiler again, which happens when
configure is build with the 64-bit compiler. Skip the
duplicate so that we don't think it's installed twice.
}
*/
break;
}
}
@ -175,8 +185,18 @@ Compiler Environment::detectCompiler()
for(int i = 0; compiler_info[i].compiler; ++i) {
QString executable = QString(compiler_info[i].executable).toLower();
if (executable.length() && Environment::detectExecutable(executable)) {
++installed;
detectedCompiler = compiler_info[i].compiler;
if (detectedCompiler != compiler_info[i].compiler) {
++installed;
detectedCompiler = compiler_info[i].compiler;
}
/* else {
We detected the same compiler again, which happens when
configure is build with the 64-bit compiler. Skip the
duplicate so that we don't think it's installed twice.
}
*/
break;
}
}