Qnx: Fixing debugging on simulator to use correct debug symbols

BlackBerryConfiguration class has been rewritten to generate kit,
qtversion, toolchain and debugger for each available
<QtVersion,Architecture> pair.

This allows to use proper debug symbols i.e. target/qnx6/x86 for Simulator.

All kits, qtversions, toolchains and debuggers are claimed to be
autodetected.

Note it still requires to have matching version of the BB NDK Target and
simulator/device OS Image for proper debugging.

Task-number: QTCREATORBUG-10271

Change-Id: I522b761e7ad5c24736a8d19e0a1c8ea8c9fe9664
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
Reviewed-by: David Kaspar <dkaspar@blackberry.com>
This commit is contained in:
David Kaspar
2013-10-15 16:17:37 +02:00
parent 2b532c73ee
commit 94b8695575
4 changed files with 136 additions and 152 deletions

View File

@@ -110,7 +110,18 @@ QMultiMap<QString, QString> BlackBerryQtVersion::environment() const
return QMultiMap<QString, QString>();
QString envFile = m_ndkEnvFile.isEmpty() ? QnxUtils::envFilePath(sdkPath()) : m_ndkEnvFile;
return QnxUtils::parseEnvironmentFile(envFile);
QMultiMap<QString,QString> result = QnxUtils::parseEnvironmentFile(envFile);
// BB NDK Host is having qmake executable which is using qt.conf file to specify
// base information. The qt.conf file is using 'CPUVARDIR' environment variable
// to provide correct information for both x86 and armle-v7 architectures.
// BlackBerryQtVersion represents as specific environment for each Qt4/Qt5
// and x86/armle-v7 combination. Therefore we need to explicitly specify
// CPUVARDIR to match expected architecture() otherwise qmake environment is
// always resolved to be for armle-v7 architecture only as it is specified
// BB NDK environment file.
result.replace(QLatin1String("CPUVARDIR"),
architecture() == X86 ? QLatin1String("x86") : QLatin1String("armle-v7"));
return result;
}
void BlackBerryQtVersion::setDefaultSdkPath()