summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-06-13 09:01:02 +0200
committerLiang Qi <liang.qi@qt.io>2016-06-13 12:46:46 +0200
commit511790fd1af1e2886a0e2e8dd4308099705cd815 (patch)
treeb42aee537a6103cd064f9f41ae2889b09b79fd23 /tools
parent1542d8881fc5ccbc5918cd4acbe4091ebbd24508 (diff)
parentcbe332405aa22257d432f1797b325f5e57007c20 (diff)
Merge remote-tracking branch 'origin/5.7' into dev
Conflicts: config_help.txt configure mkspecs/features/uikit/sdk.prf src/corelib/global/qhooks.cpp src/corelib/io/qfilesystemwatcher.cpp src/corelib/io/qlockfile_unix.cpp src/corelib/tools/qalgorithms.h src/gui/kernel/qwindowsysteminterface.h src/gui/text/qtextdocument_p.cpp src/network/access/access.pri src/network/access/qnetworkaccessmanager.cpp src/network/access/qnetworkreplynsurlconnectionimpl.mm src/src.pro src/testlib/qtestcase.cpp src/widgets/kernel/qwidgetbackingstore_p.h src/widgets/styles/qwindowscestyle.cpp src/widgets/styles/qwindowsmobilestyle.cpp tests/auto/corelib/io/qdiriterator/qdiriterator.pro tests/auto/corelib/io/qfileinfo/qfileinfo.pro tests/auto/gui/kernel/qwindow/BLACKLIST tests/auto/widgets/dialogs/qfilesystemmodel/tst_qfilesystemmodel.cpp tools/configure/configureapp.cpp Change-Id: Ibf7fb9c8cf263a810ade82f821345d0725c57c67
Diffstat (limited to 'tools')
-rw-r--r--tools/configure/configureapp.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 139c76bbf1..dfd90ee97f 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -2062,6 +2062,9 @@ bool Configure::checkAvailability(const QString &part)
else if (part == "ATOMIC64-LIBATOMIC")
available = tryCompileProject("common/atomic64", "LIBS+=-latomic");
+ else if (part == "ATOMICFPTR")
+ available = tryCompileProject("common/atomicfptr");
+
else if (part == "SYSTEM_ZLIB")
available = findFile("zlib.h");
@@ -2210,6 +2213,15 @@ void Configure::autoDetection()
dictionary["ATOMIC64"] = checkAvailability("ATOMIC64") ? "yes" :
checkAvailability("ATOMIC64-LIBATOMIC") ? "libatomic" : "no";
+ // special case:
+ if (!checkAvailability("ATOMICFPTR")) {
+ dictionary["DONE"] = "error";
+ cout << "ERROR: detected an std::atomic implementation that fails for function pointers." << endl
+ << "Please apply the patch corresponding to your Standard Library vendor, found in" << endl
+ << sourcePath << "/config.tests/common/atomicfptr" << endl;
+ return;
+ }
+
// Style detection
if (dictionary["STYLE_WINDOWSXP"] == "auto")
dictionary["STYLE_WINDOWSXP"] = checkAvailability("STYLE_WINDOWSXP") ? defaultTo("STYLE_WINDOWSXP") : "no";
@@ -2732,7 +2744,7 @@ void Configure::generateOutputVars()
qtConfig += "accessibility";
if (!qmakeLibs.isEmpty())
- qmakeVars += "LIBS += " + formatPaths(qmakeLibs);
+ qmakeVars += "EXTRA_LIBS += " + formatPaths(qmakeLibs);
if (!dictionary["QMAKE_LIBS_SQLITE"].isEmpty())
qmakeVars += "QMAKE_LIBS_SQLITE += " + dictionary["QMAKE_LIBS_SQLITE"];
@@ -2844,9 +2856,9 @@ void Configure::generateOutputVars()
qtConfig += "rpath";
if (!qmakeDefines.isEmpty())
- qmakeVars += QString("DEFINES += ") + qmakeDefines.join(' ');
+ qmakeVars += QString("EXTRA_DEFINES += ") + qmakeDefines.join(' ');
if (!qmakeIncludes.isEmpty())
- qmakeVars += QString("INCLUDEPATH += ") + formatPaths(qmakeIncludes);
+ qmakeVars += QString("EXTRA_INCLUDEPATH += ") + formatPaths(qmakeIncludes);
if (!opensslLibs.isEmpty())
qmakeVars += opensslLibs;
if (dictionary[ "OPENSSL" ] == "linked") {