summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2014-05-06 16:19:14 +0200
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2014-05-06 16:50:03 +0200
commit1326cd15f7ba985551f0fddc717e3bfc01ddda85 (patch)
tree024eb871ed5f4e8c02e21412475e6e9929a2b030 /tools
parentfe70367fe06984d1ac84cc276ca3fd3edc4193c7 (diff)
parentbeb7258a56b6ec76531b73cc07ee30132a3f548f (diff)
Merge remote-tracking branch 'origin/stable' into dev
Conflicts: mkspecs/qnx-x86-qcc/qplatformdefs.h src/corelib/global/qglobal.h src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/qgl.cpp src/opengl/qglpixelbuffer.cpp src/opengl/qglshaderprogram.cpp tests/auto/opengl/qglthreads/tst_qglthreads.cpp Change-Id: Iaba137884d3526a139000ca26fee02bb27b5cdb5
Diffstat (limited to 'tools')
-rw-r--r--tools/configure/configureapp.cpp42
-rw-r--r--tools/configure/configureapp.h1
2 files changed, 30 insertions, 13 deletions
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index a43737fdaf..62243178e7 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -164,6 +164,7 @@ Configure::Configure(int& argc, char** argv)
dictionary[ "GUI" ] = "yes";
dictionary[ "RTTI" ] = "yes";
dictionary[ "STRIP" ] = "yes";
+ dictionary[ "SEPARATE_DEBUG_INFO" ] = "no";
dictionary[ "SSE2" ] = "auto";
dictionary[ "SSE3" ] = "auto";
dictionary[ "SSSE3" ] = "auto";
@@ -445,6 +446,10 @@ void Configure::parseCmdLine()
dictionary[ "BUILDALL" ] = "yes";
else if (configCmdLine.at(i) == "-force-debug-info")
dictionary[ "FORCEDEBUGINFO" ] = "yes";
+ else if (configCmdLine.at(i) == "-no-separate-debug-info")
+ dictionary[ "SEPARATE_DEBUG_INFO" ] = "no";
+ else if (configCmdLine.at(i) == "-separate-debug-info")
+ dictionary[ "SEPARATE_DEBUG_INFO" ] = "yes";
else if (configCmdLine.at(i) == "-compile-examples") {
dictionary[ "COMPILE_EXAMPLES" ] = "yes";
@@ -1765,7 +1770,8 @@ bool Configure::displayHelp()
desc("BUILD", "debug", "-debug", "Compile and link Qt with debugging turned on.");
desc("BUILDALL", "yes", "-debug-and-release", "Compile and link two Qt libraries, with and without debugging turned on.\n");
- desc("FORCEDEBUGINFO", "yes","-force-debug-info", "Create symbol files for release builds.\n");
+ desc("FORCEDEBUGINFO", "yes","-force-debug-info", "Create symbol files for release builds.");
+ desc("SEPARATE_DEBUG_INFO", "yes","-separate-debug-info", "Strip debug information into a separate file.\n");
desc("BUILDDEV", "yes", "-developer-build", "Compile and link Qt with Qt developer options (including auto-tests exporting)\n");
@@ -2165,6 +2171,9 @@ bool Configure::checkAvailability(const QString &part)
if (part == "STYLE_WINDOWSXP")
available = (platform() == WINDOWS) && findFile("uxtheme.h");
+ else if (part == "OBJCOPY")
+ available = tryCompileProject("unix/objcopy");
+
else if (part == "ZLIB")
available = findFile("zlib.h");
@@ -2489,6 +2498,21 @@ bool Configure::verifyConfiguration()
dictionary["C++11"] = "auto";
}
+ if (dictionary["SEPARATE_DEBUG_INFO"] == "yes") {
+ if (dictionary[ "SHARED" ] == "no") {
+ cout << "ERROR: -separate-debug-info is incompatible with -static" << endl << endl;
+ dictionary[ "DONE" ] = "error";
+ } else if (dictionary[ "BUILD" ] != "debug"
+ && dictionary[ "BUILDALL" ] == "no"
+ && dictionary[ "FORCEDEBUGINFO" ] == "no") {
+ cout << "ERROR: -separate-debug-info needs -debug, -debug-and-release, or -force-debug-info" << endl << endl;
+ dictionary[ "DONE" ] = "error";
+ } else if (dictionary["SEPARATE_DEBUG_INFO"] == "yes" && !checkAvailability("OBJCOPY")) {
+ cout << "ERROR: -separate-debug-info was requested but this binutils does not support it." << endl;
+ dictionary[ "DONE" ] = "error";
+ }
+ }
+
if (dictionary["SQL_SQLITE_LIB"] == "no" && dictionary["SQL_SQLITE"] != "no") {
cout << "WARNING: Configure could not detect the presence of a system SQLite3 lib." << endl
<< "Configure will therefore continue with the SQLite3 lib bundled with Qt." << endl;
@@ -2752,6 +2776,8 @@ void Configure::generateOutputVars()
if (dictionary[ "BUILDALL" ] == "yes") {
qtConfig += "build_all";
}
+ if (dictionary[ "SEPARATE_DEBUG_INFO" ] == "yes")
+ qtConfig += "separate_debug_info";
if (dictionary[ "FORCEDEBUGINFO" ] == "yes")
qmakeConfig += "force_debug_info";
qmakeConfig += dictionary[ "BUILD" ];
@@ -3372,10 +3398,8 @@ void Configure::generateQConfigPri()
if (!dictionary["QT_NAMESPACE"].isEmpty())
configStream << "#namespaces" << endl << "QT_NAMESPACE = " << dictionary["QT_NAMESPACE"] << endl;
- if (dictionary[ "SHARED" ] == "no") {
- configStream << "QT_DEFAULT_QPA_PLUGIN = q" << qpaPlatformName() << endl
- << "QT_DEFAULT_PRINTSUPPORTPLUGIN = " << qpaPrintSupportPluginName() << endl;
- }
+ if (dictionary[ "SHARED" ] == "no")
+ configStream << "QT_DEFAULT_QPA_PLUGIN = q" << qpaPlatformName() << endl;
if (!configStream.flush())
dictionary[ "DONE" ] = "error";
@@ -3548,8 +3572,7 @@ void Configure::generateConfigfiles()
for (int i = 0; i < qconfigList.count(); ++i)
tmpStream << addDefine(qconfigList.at(i));
- tmpStream << "#define QT_QPA_DEFAULT_PLATFORM_NAME \"" << qpaPlatformName() << "\"" << endl
- << "#define QT_QPA_DEFAULT_PRINTSUPPORTPLUGIN_NAME \"" << qpaPrintSupportPluginName() << "\"" << endl;
+ tmpStream<<"#define QT_QPA_DEFAULT_PLATFORM_NAME \"" << qpaPlatformName() << "\""<<endl;
if (!tmpStream.flush())
dictionary[ "DONE" ] = "error";
@@ -4449,11 +4472,6 @@ QString Configure::qpaPlatformName() const
}
}
-QString Configure::qpaPrintSupportPluginName() const
-{
- return platform() == WINDOWS ? QStringLiteral("windowsprintersupport") : QString();
-}
-
int Configure::platform() const
{
const QString qMakeSpec = dictionary.value("QMAKESPEC");
diff --git a/tools/configure/configureapp.h b/tools/configure/configureapp.h
index e8de10dcf7..98e4912eaa 100644
--- a/tools/configure/configureapp.h
+++ b/tools/configure/configureapp.h
@@ -100,7 +100,6 @@ public:
int platform() const;
QString platformName() const;
QString qpaPlatformName() const;
- QString qpaPrintSupportPluginName() const;
private:
bool checkAngleAvailability(QString *errorMessage = 0) const;