diff options
-rw-r--r-- | tools/configure/configureapp.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index 63d9f2804e..f40c1ac615 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -3090,13 +3090,14 @@ void Configure::generateCachefile() } struct ArchData { + bool isHost; const char *qmakespec; const char *key; const char *subarchKey; const char *type; ArchData() {} - ArchData(const char *t, const char *qm, const char *k, const char *sak) - : qmakespec(qm), key(k), subarchKey(sak), type(t) + ArchData(bool h, const char *t, const char *qm, const char *k, const char *sak) + : isHost(h), qmakespec(qm), key(k), subarchKey(sak), type(t) {} }; @@ -3122,8 +3123,8 @@ void Configure::detectArch() QVector<ArchData> qmakespecs; if (dictionary.contains("XQMAKESPEC")) - qmakespecs << ArchData("target", "XQMAKESPEC", "QT_ARCH", "QT_CPU_FEATURES"); - qmakespecs << ArchData("host", "QMAKESPEC", "QT_HOST_ARCH", "QT_HOST_CPU_FEATURES"); + qmakespecs << ArchData(false, "target", "XQMAKESPEC", "QT_ARCH", "QT_CPU_FEATURES"); + qmakespecs << ArchData(true, "host", "QMAKESPEC", "QT_HOST_ARCH", "QT_HOST_CPU_FEATURES"); for (int i = 0; i < qmakespecs.count(); ++i) { const ArchData &data = qmakespecs.at(i); @@ -3135,7 +3136,8 @@ void Configure::detectArch() QString command = QString("%1 -spec %2 %3") .arg(QDir::toNativeSeparators(buildPath + "/bin/qmake.exe"), QDir::toNativeSeparators(qmakespec), - QDir::toNativeSeparators(sourcePath + "/config.tests/arch/arch.pro")); + QDir::toNativeSeparators(sourcePath + "/config.tests/arch/arch" + + (data.isHost ? "_host" : "") + ".pro")); if (qmakespec.startsWith("winrt") || qmakespec.startsWith("winphone")) command.append(" QMAKE_LFLAGS+=/ENTRY:main"); |