ToolChain: Refactor toolchain support

Refactor ToolChains in Qt Creator:

 * Allow for several toolchains of the same type
 * Be smarter wrt. guessing what kind of output a toolchain
   produces. This allows us to eventually handle e.g. embedded
   linux setups way better than before.
 * Be smarter wrt. guessing what kind of environment a Qt version
   needs.
 * Improve auto-detection of toolchains a bit
 * Decide on which debugger to use based on the kind of output
   produced by the compiler.
 * Add options page to configure toolchains
 * Remove toolchain related options from the Qt version dialog

Reviewed-by: dt
This commit is contained in:
Tobias Hunger
2011-02-01 18:36:00 +01:00
parent be31c80b02
commit 8d0c477245
112 changed files with 6498 additions and 3687 deletions

View File

@@ -33,7 +33,7 @@
#include "qmakestep.h"
#include "projectexplorer/projectexplorerconstants.h"
#include <projectexplorer/projectexplorerconstants.h>
#include <proparser/profileevaluator.h>
#include "qmakeparser.h"
#include "qt4buildconfiguration.h"
@@ -45,6 +45,7 @@
#include "debugginghelperbuildtask.h"
#include <projectexplorer/buildsteplist.h>
#include <projectexplorer/toolchain.h>
#include <coreplugin/icore.h>
#include <coreplugin/progressmanager/progressmanager.h>
@@ -155,11 +156,10 @@ QStringList QMakeStep::moreArguments()
Qt4BuildConfiguration *bc = qt4BuildConfiguration();
QStringList arguments;
#if defined(Q_OS_WIN) || defined(Q_OS_MAC)
const ProjectExplorer::ToolChainType type = bc->toolChainType();
if (type == ProjectExplorer::ToolChain_GCC_MAEMO5
|| type == ProjectExplorer::ToolChain_GCC_HARMATTAN) {
ProjectExplorer::ToolChain *tc = bc->toolChain();
if (tc && (tc->targetAbi().osFlavor() == ProjectExplorer::Abi::Linux_harmattan
|| tc->targetAbi().osFlavor() == ProjectExplorer::Abi::Linux_maemo))
arguments << QLatin1String("-unix");
}
#endif
if (!bc->qtVersion()->supportsShadowBuilds()) {
// We have a target which does not allow shadow building.