Commit 7ab1f974 authored by Oswald Buddenhagen's avatar Oswald Buddenhagen Committed by Oswald Buddenhagen
Browse files

resolve only one level of symlinks, and only for the default specs

otherwise we end up in the source tree, which is counterproductive.

Task-number: QTBUG-26869
Change-Id: Id44a94f827dc285c75b9b243c8ef6478e668e3ff
Reviewed-by: default avatarJoerg Bornemann <>
(cherry picked from qttools/29bdcb6008a58203efc62ee58e57d266e60be095,
plus creator-specific amend)
Reviewed-by: default avatarDaniel Teske <>
parent d394225d
......@@ -1305,7 +1305,7 @@ Utils::FileName BaseQtVersion::mkspecFromVersionInfo(const QHash<QString, QStrin
if (value.contains("XCODE")) {
// we don't want to generate xcode projects...
// qDebug() << "default mkspec is xcode, falling back to g++";
mkspecFullPath = baseMkspecDir.appendPath(QLatin1String("macx-g++"));
return baseMkspecDir.appendPath(QLatin1String("macx-g++"));
......@@ -1315,7 +1315,9 @@ Utils::FileName BaseQtVersion::mkspecFromVersionInfo(const QHash<QString, QStrin
# endif
//resolve mkspec link
mkspecFullPath = Utils::FileName::fromString(mkspecFullPath.toFileInfo().canonicalFilePath());
QString rspec = mkspecFullPath.toFileInfo().readLink();
if (!rspec.isEmpty())
mkspecFullPath = Utils::FileName::fromUserInput(QDir(baseMkspecDir).absoluteFilePath(rspec));
return mkspecFullPath;
......@@ -1052,7 +1052,12 @@ bool QMakeEvaluator::loadSpecInternal()
return false;
#ifdef Q_OS_UNIX
m_qmakespec = QFileInfo(m_qmakespec).canonicalFilePath();
if (m_qmakespec.endsWith(QLatin1String("/default-host"))
|| m_qmakespec.endsWith(QLatin1String("/default"))) {
QString rspec = QFileInfo(m_qmakespec).readLink();
if (!rspec.isEmpty())
m_qmakespec = QDir::cleanPath(QDir(m_qmakespec).absoluteFilePath(rspec));
// We can't resolve symlinks as they do on Unix, so configure.exe puts
// the source of the qmake.conf at the end of the default/qmake.conf in
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment