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

@@ -173,13 +173,10 @@ bool MakeStep::init()
// so we only do it for unix and if the user didn't override the make command
// but for now this is the least invasive change
if (toolchain) {
if (toolchain->type() != ProjectExplorer::ToolChain_MSVC &&
toolchain->type() != ProjectExplorer::ToolChain_WINCE) {
if (m_makeCmd.isEmpty())
Utils::QtcProcess::addArg(&args, QLatin1String("-w"));
}
}
if (toolchain
&& toolchain->targetAbi().binaryFormat() != ProjectExplorer::Abi::Format_PE
&& m_makeCmd.isEmpty())
Utils::QtcProcess::addArg(&args, QLatin1String("-w"));
setEnabled(true);
pp->setArguments(args);
@@ -304,14 +301,11 @@ void MakeStepConfigWidget::updateDetails()
// so we only do it for unix and if the user didn't override the make command
// but for now this is the least invasive change
QString args = m_makeStep->userArguments();
ProjectExplorer::ToolChainType t = ProjectExplorer::ToolChain_UNKNOWN;
ProjectExplorer::ToolChain *toolChain = bc->toolChain();
if (toolChain)
t = toolChain->type();
if (t != ProjectExplorer::ToolChain_MSVC && t != ProjectExplorer::ToolChain_WINCE) {
if (m_makeStep->m_makeCmd.isEmpty())
Utils::QtcProcess::addArg(&args, QLatin1String("-w"));
}
if (toolChain
&& toolChain->targetAbi().binaryFormat() != ProjectExplorer::Abi::Format_PE
&& m_makeStep->m_makeCmd.isEmpty())
Utils::QtcProcess::addArg(&args, QLatin1String("-w"));
param.setArguments(args);
m_summaryText = param.summaryInWorkdir(displayName());
emit updateSummary();