From eff3a7ded138e5f73fe716efae9e4bf74c71a8a4 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 17 May 2016 10:45:43 +0200 Subject: delay application of -D/-I/-L/-l on windows as well clearly, "the windows configure does not have any of this magic to start with" was flat-out wrong. Task-number: QTBUG-53312 Change-Id: I80ac10bc8b1581e61c57fcd97f25626990d120ec Reviewed-by: Konstantin Tokarev Reviewed-by: Simon Hausmann --- tools/configure/configureapp.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'tools') diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index a03be4df0a..0909ff8aab 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -2987,7 +2987,7 @@ void Configure::generateOutputVars() qtConfig += "accessibility"; if (!qmakeLibs.isEmpty()) - qmakeVars += "LIBS += " + formatPaths(qmakeLibs); + qmakeVars += "EXTRA_LIBS += " + formatPaths(qmakeLibs); if (!dictionary["QT_LFLAGS_SQLITE"].isEmpty()) qmakeVars += "QT_LFLAGS_SQLITE += " + dictionary["QT_LFLAGS_SQLITE"]; @@ -3105,9 +3105,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") { -- cgit v1.2.3 From 7835b260a9f60c98ee41468b040ac080782afe2f Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Tue, 27 Oct 2015 19:48:04 -0700 Subject: configure: check whether std::atomic works for function pointers And ask the user to apply one of the patches we're carrying to their Standard Libraries. Change-Id: I7e6338336dd6468ead24ffff141139c79056922e Reviewed-by: Simon Hausmann --- tools/configure/configureapp.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'tools') diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index 6dc551ceb5..395c4a0b54 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -2172,6 +2172,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 == "ZLIB") available = findFile("zlib.h"); @@ -2338,6 +2341,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"; -- cgit v1.2.3