summaryrefslogtreecommitdiffstats
path: root/tools/configure/configureapp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/configure/configureapp.cpp')
-rw-r--r--tools/configure/configureapp.cpp400
1 files changed, 147 insertions, 253 deletions
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index a03be4df0a..e3eb5220be 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -1,32 +1,27 @@
/****************************************************************************
**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Copyright (C) 2015 Intel Corporation
-** Contact: http://www.qt.io/licensing/
+** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2016 Intel Corporation.
+** Contact: https://www.qt.io/licensing/
**
** This file is part of the tools applications of the Qt Toolkit.
**
-** $QT_BEGIN_LICENSE:LGPL21$
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 or version 3 as published by the Free
-** Software Foundation and appearing in the file LICENSE.LGPLv21 and
-** LICENSE.LGPLv3 included in the packaging of this file. Please review the
-** following information to ensure the GNU Lesser General Public License
-** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** As a special exception, The Qt Company gives you certain additional
-** rights. These rights are described in The Qt Company LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
** $QT_END_LICENSE$
**
@@ -57,10 +52,8 @@ QT_BEGIN_NAMESPACE
enum Platforms {
WINDOWS,
- WINDOWS_CE,
WINDOWS_RT,
QNX,
- BLACKBERRY,
ANDROID,
OTHER
};
@@ -161,16 +154,15 @@ Configure::Configure(int& argc, char** argv) : verbose(0)
dictionary[ "SSE4_2" ] = "auto";
dictionary[ "AVX" ] = "auto";
dictionary[ "AVX2" ] = "auto";
+ dictionary[ "AVX512" ] = "auto";
dictionary[ "SYNCQT" ] = "auto";
- dictionary[ "CE_CRT" ] = "no";
- dictionary[ "CETEST" ] = "auto";
- dictionary[ "CE_SIGNATURE" ] = "no";
dictionary[ "AUDIO_BACKEND" ] = "auto";
dictionary[ "WMF_BACKEND" ] = "no";
dictionary[ "WMSDK" ] = "auto";
dictionary[ "QML_DEBUG" ] = "yes";
dictionary[ "PLUGIN_MANIFESTS" ] = "no";
dictionary[ "DIRECTWRITE" ] = "auto";
+ dictionary[ "DIRECTWRITE2" ] = "auto";
dictionary[ "DIRECT2D" ] = "no";
dictionary[ "NIS" ] = "no";
dictionary[ "NEON" ] = "auto";
@@ -263,6 +255,7 @@ Configure::Configure(int& argc, char** argv) : verbose(0)
dictionary[ "PNG" ] = "auto";
dictionary[ "LIBJPEG" ] = "auto";
dictionary[ "LIBPNG" ] = "auto";
+ dictionary[ "DOUBLECONVERSION" ] = "auto";
dictionary[ "FREETYPE" ] = "yes";
dictionary[ "FREETYPE_FROM" ] = "default";
dictionary[ "HARFBUZZ" ] = "qt";
@@ -280,9 +273,6 @@ Configure::Configure(int& argc, char** argv) : verbose(0)
dictionary[ "STYLE_WINDOWSXP" ] = "auto";
dictionary[ "STYLE_WINDOWSVISTA" ] = "auto";
dictionary[ "STYLE_FUSION" ] = "yes";
- dictionary[ "STYLE_WINDOWSCE" ] = "no";
- dictionary[ "STYLE_WINDOWSMOBILE" ] = "no";
- dictionary[ "STYLE_GTK" ] = "no";
dictionary[ "SQL_MYSQL" ] = "no";
dictionary[ "SQL_ODBC" ] = "no";
@@ -308,7 +298,7 @@ Configure::Configure(int& argc, char** argv) : verbose(0)
dictionary[ "NATIVE_GESTURES" ] = "yes";
dictionary[ "MSVC_MP" ] = "no";
- if (dictionary["QMAKESPEC"] == QString("win32-g++")) {
+ if (dictionary["QMAKESPEC"].startsWith("win32-g++")) {
const QString zero = QStringLiteral("0");
const QStringList parts = Environment::gccVersion().split(QLatin1Char('.'));
dictionary["QT_GCC_MAJOR_VERSION"] = parts.value(0, zero);
@@ -474,25 +464,21 @@ void Configure::parseCmdLine()
dictionary[ "COMPILE_EXAMPLES" ] = "no";
}
- else if (configCmdLine.at(i) == "-c++11")
- dictionary[ "C++STD" ] = "c++11";
- else if (configCmdLine.at(i) == "-no-c++11")
- dictionary[ "C++STD" ] = "c++98";
else if (configCmdLine.at(i) == "-c++std") {
++i;
if (i == argCount)
break;
QString level = configCmdLine.at(i);
- if (level == "c++98" || level == "c++11" || level == "c++14" || level == "c++1z"
+ if (level == "c++11" || level == "c++14" || level == "c++1z"
|| level == "auto") {
dictionary[ "C++STD" ] = level;
- } else if (level == "98" || level == "11" || level == "14" || level == "1z") {
+ } else if (level == "11" || level == "14" || level == "1z") {
dictionary[ "C++STD" ] = "c++" + level;
} else {
dictionary[ "DONE" ] = "error";
cout << "ERROR: invalid C++ standard " << level
- << "; valid options are: c++98 c++11 c++14 c++1z auto" << endl;
+ << "; valid options are: c++11 c++14 c++1z auto" << endl;
return;
}
}
@@ -634,6 +620,14 @@ void Configure::parseCmdLine()
dictionary[ "LIBPNG" ] = "system";
}
+ // Double Conversion -----------------------------------------
+ else if (configCmdLine.at(i) == "-no-doubleconversion")
+ dictionary[ "DOUBLECONVERSION" ] = "no";
+ else if (configCmdLine.at(i) == "-qt-doubleconversion")
+ dictionary[ "DOUBLECONVERSION" ] = "qt";
+ else if (configCmdLine.at(i) == "-system-doubleconversion")
+ dictionary[ "DOUBLECONVERSION" ] = "system";
+
// Text Rendering --------------------------------------------
else if (configCmdLine.at(i) == "-no-freetype") {
dictionary[ "FREETYPE" ] = "no";
@@ -653,58 +647,12 @@ void Configure::parseCmdLine()
else if (configCmdLine.at(i) == "-system-harfbuzz")
dictionary[ "HARFBUZZ" ] = "system";
- // CE- C runtime --------------------------------------------
- else if (configCmdLine.at(i) == "-crt") {
- ++i;
- if (i == argCount)
- break;
- QDir cDir(configCmdLine.at(i));
- if (!cDir.exists())
- cout << "WARNING: Could not find directory (" << qPrintable(configCmdLine.at(i)) << ")for C runtime deployment" << endl;
- else
- dictionary[ "CE_CRT" ] = QDir::toNativeSeparators(cDir.absolutePath());
- } else if (configCmdLine.at(i) == "-qt-crt") {
- dictionary[ "CE_CRT" ] = "yes";
- } else if (configCmdLine.at(i) == "-no-crt") {
- dictionary[ "CE_CRT" ] = "no";
- }
- // cetest ---------------------------------------------------
- else if (configCmdLine.at(i) == "-no-cetest") {
- dictionary[ "CETEST" ] = "no";
- dictionary[ "CETEST_REQUESTED" ] = "no";
- } else if (configCmdLine.at(i) == "-cetest") {
- // although specified to use it, we stay at "auto" state
- // this is because checkAvailability() adds variables
- // we need for crosscompilation; but remember if we asked
- // for it.
- dictionary[ "CETEST_REQUESTED" ] = "yes";
- }
- // Qt/CE - signing tool -------------------------------------
- else if (configCmdLine.at(i) == "-signature") {
- ++i;
- if (i == argCount)
- break;
- QFileInfo info(configCmdLine.at(i));
- if (!info.exists())
- cout << "WARNING: Could not find signature file (" << qPrintable(configCmdLine.at(i)) << ")" << endl;
- else
- dictionary[ "CE_SIGNATURE" ] = QDir::toNativeSeparators(info.absoluteFilePath());
- }
// Styles ---------------------------------------------------
else if (configCmdLine.at(i) == "-qt-style-windows")
dictionary[ "STYLE_WINDOWS" ] = "yes";
else if (configCmdLine.at(i) == "-no-style-windows")
dictionary[ "STYLE_WINDOWS" ] = "no";
- else if (configCmdLine.at(i) == "-qt-style-windowsce")
- dictionary[ "STYLE_WINDOWSCE" ] = "yes";
- else if (configCmdLine.at(i) == "-no-style-windowsce")
- dictionary[ "STYLE_WINDOWSCE" ] = "no";
- else if (configCmdLine.at(i) == "-qt-style-windowsmobile")
- dictionary[ "STYLE_WINDOWSMOBILE" ] = "yes";
- else if (configCmdLine.at(i) == "-no-style-windowsmobile")
- dictionary[ "STYLE_WINDOWSMOBILE" ] = "no";
-
else if (configCmdLine.at(i) == "-qt-style-windowsxp")
dictionary[ "STYLE_WINDOWSXP" ] = "yes";
else if (configCmdLine.at(i) == "-no-style-windowsxp")
@@ -905,6 +853,10 @@ void Configure::parseCmdLine()
dictionary[ "AVX2" ] = "no";
else if (configCmdLine.at(i) == "-avx2")
dictionary[ "AVX2" ] = "yes";
+ else if (configCmdLine.at(i) == "-no-avx512")
+ dictionary[ "AVX512" ] = "";
+ else if (configCmdLine.at(i) == "-avx512")
+ dictionary[ "AVX512" ] = "auto";
else if (configCmdLine.at(i) == "-no-ssl") {
dictionary[ "SSL"] = "no";
@@ -1443,19 +1395,12 @@ void Configure::parseCmdLine()
cout << "See the README file for a list of supported operating systems and compilers." << endl;
} else {
if (dictionary[ "QMAKESPEC" ].endsWith("-icc") ||
- dictionary[ "QMAKESPEC" ].endsWith("-msvc") ||
- dictionary[ "QMAKESPEC" ].endsWith("-msvc.net") ||
- dictionary[ "QMAKESPEC" ].endsWith("-msvc2002") ||
- dictionary[ "QMAKESPEC" ].endsWith("-msvc2003") ||
- dictionary[ "QMAKESPEC" ].endsWith("-msvc2005") ||
- dictionary[ "QMAKESPEC" ].endsWith("-msvc2008") ||
- dictionary[ "QMAKESPEC" ].endsWith("-msvc2010") ||
dictionary[ "QMAKESPEC" ].endsWith("-msvc2012") ||
dictionary[ "QMAKESPEC" ].endsWith("-msvc2013") ||
dictionary[ "QMAKESPEC" ].endsWith("-msvc2015")) {
if (dictionary[ "MAKE" ].isEmpty()) dictionary[ "MAKE" ] = "nmake";
dictionary[ "QMAKEMAKEFILE" ] = "Makefile.win32";
- } else if (dictionary[ "QMAKESPEC" ] == QString("win32-g++")) {
+ } else if (dictionary[ "QMAKESPEC" ].startsWith(QLatin1String("win32-g++"))) {
if (dictionary[ "MAKE" ].isEmpty()) dictionary[ "MAKE" ] = "mingw32-make";
dictionary[ "QMAKEMAKEFILE" ] = "Makefile.unix";
} else {
@@ -1492,28 +1437,6 @@ void Configure::parseCmdLine()
}
}
- // Ensure that the crt to be deployed can be found
- if (dictionary["CE_CRT"] != QLatin1String("yes") && dictionary["CE_CRT"] != QLatin1String("no")) {
- QDir cDir(dictionary["CE_CRT"]);
- QStringList entries = cDir.entryList();
- bool hasDebug = entries.contains("msvcr80.dll");
- bool hasRelease = entries.contains("msvcr80d.dll");
- if ((dictionary["BUILDALL"] == "auto") && (!hasDebug || !hasRelease)) {
- cout << "Could not find debug and release c-runtime." << endl;
- cout << "You need to have msvcr80.dll and msvcr80d.dll in" << endl;
- cout << "the path specified. Setting to -no-crt";
- dictionary[ "CE_CRT" ] = "no";
- } else if ((dictionary["BUILD"] == "debug") && !hasDebug) {
- cout << "Could not find debug c-runtime (msvcr80d.dll) in the directory specified." << endl;
- cout << "Setting c-runtime automatic deployment to -no-crt" << endl;
- dictionary[ "CE_CRT" ] = "no";
- } else if ((dictionary["BUILD"] == "release") && !hasRelease) {
- cout << "Could not find release c-runtime (msvcr80.dll) in the directory specified." << endl;
- cout << "Setting c-runtime automatic deployment to -no-crt" << endl;
- dictionary[ "CE_CRT" ] = "no";
- }
- }
-
// Allow tests for private classes to be compiled against internal builds
if (dictionary["BUILDDEV"] == "yes") {
qtConfig << "private_tests";
@@ -1710,23 +1633,9 @@ void Configure::applySpecSpecifics()
dictionary[ "ZLIB" ] = "qt";
dictionary[ "PCRE" ] = "qt";
dictionary[ "ICU" ] = "qt";
- dictionary[ "CE_CRT" ] = "yes";
dictionary[ "LARGE_FILE" ] = "no";
dictionary[ "ANGLE" ] = "yes";
dictionary[ "DYNAMICGL" ] = "no";
- } else if (dictionary.value("XQMAKESPEC").startsWith("wince")) {
- dictionary[ "STYLE_WINDOWSXP" ] = "no";
- dictionary[ "STYLE_WINDOWSVISTA" ] = "no";
- dictionary[ "STYLE_FUSION" ] = "no";
- dictionary[ "STYLE_WINDOWSCE" ] = "yes";
- dictionary[ "STYLE_WINDOWSMOBILE" ] = "yes";
- dictionary[ "CE_CRT" ] = "yes";
- dictionary[ "LARGE_FILE" ] = "no";
- dictionary[ "ANGLE" ] = "no";
- dictionary[ "DYNAMICGL" ] = "no";
- if (dictionary[ "XQMAKESPEC" ].startsWith("wincewm")) {
- dictionary[ "MMX" ] = "yes";
- }
} else if (dictionary.value("XQMAKESPEC").startsWith("linux")) { //TODO actually wrong.
//TODO
dictionary[ "STYLE_WINDOWSXP" ] = "no";
@@ -1746,7 +1655,7 @@ void Configure::applySpecSpecifics()
dictionary[ "ANGLE" ] = "no";
dictionary["DECORATIONS"] = "default windows styled";
- } else if ((platform() == QNX) || (platform() == BLACKBERRY)) {
+ } else if (platform() == QNX) {
dictionary[ "REDUCE_EXPORTS" ] = "yes";
dictionary["STACK_PROTECTOR_STRONG"] = "auto";
dictionary["SLOG2"] = "auto";
@@ -1758,6 +1667,8 @@ void Configure::applySpecSpecifics()
dictionary[ "DYNAMICGL" ] = "no";
dictionary[ "FONT_CONFIG" ] = "auto";
dictionary[ "ICU" ] = "auto";
+ dictionary[ "POLL" ] = "poll";
+ dictionary[ "ZLIB" ] = "system";
} else if (platform() == ANDROID) {
dictionary[ "REDUCE_EXPORTS" ] = "yes";
dictionary[ "BUILD" ] = "release";
@@ -1770,6 +1681,8 @@ void Configure::applySpecSpecifics()
dictionary[ "QT_XKBCOMMON" ] = "no";
dictionary["ANDROID_STYLE_ASSETS"] = "yes";
dictionary[ "STYLE_ANDROID" ] = "yes";
+ dictionary[ "POLL" ] = "poll";
+ dictionary[ "ZLIB" ] = "system";
}
}
@@ -1837,7 +1750,7 @@ bool Configure::displayHelp()
desc("OPENSOURCE", "opensource", "-opensource", "Compile and link the Open-Source Edition of Qt.");
desc("COMMERCIAL", "commercial", "-commercial", "Compile and link the Commercial Edition of Qt.\n");
- desc( "-c++std <edition>", "Compile Qt with C++ standard edition (c++98, c++11, c++14, c++1z)\n"
+ desc( "-c++std <edition>", "Compile Qt with C++ standard edition (c++11, c++14, c++1z)\n"
"Default: highest supported. This option is not supported for MSVC.\n");
desc("USE_GOLD_LINKER", "yes", "-use-gold-linker", "Link using the GNU gold linker (gcc only).");
@@ -1981,6 +1894,10 @@ bool Configure::displayHelp()
desc("LIBJPEG", "qt", "-qt-libjpeg", "Use the libjpeg bundled with Qt.");
desc("LIBJPEG", "system","-system-libjpeg", "Use libjpeg from the operating system.\nSee http://www.ijg.org\n");
+ desc("DOUBLECONVERSION", "no", "-no-doubleconversion", "Use sscanf_l and snprintf_l for (imprecise) double conversion.");
+ desc("DOUBLECONVERSION", "qt", "-qt-doubleconversion", "Use the libdouble-conversion bundled with Qt.");
+ desc("DOUBLECONVERSION", "system", "-system-doubleconversion", "Use the libdouble-conversion provided by the system.");
+
desc("FREETYPE", "no", "-no-freetype", "Do not compile in Freetype2 support.");
desc("FREETYPE", "yes", "-qt-freetype", "Use the libfreetype bundled with Qt.");
desc("FREETYPE", "system","-system-freetype", "Use the libfreetype provided by the system.\n");
@@ -1997,7 +1914,7 @@ bool Configure::displayHelp()
"by setting the QT_HARFBUZZ environment variable to \"old\".\n"
"See http://www.harfbuzz.org\n");
- if ((platform() == QNX) || (platform() == BLACKBERRY)) {
+ if (platform() == QNX) {
desc("SLOG2", "yes", "-slog2", "Compile with slog2 support.");
desc("SLOG2", "no", "-no-slog2", "Do not compile with slog2 support.");
desc("QNX_IMF", "yes", "-imf", "Compile with imf support.");
@@ -2043,6 +1960,8 @@ bool Configure::displayHelp()
desc("AVX", "yes", "-avx", "Compile with use of AVX instructions.");
desc("AVX2", "no", "-no-avx2", "Do not compile with use of AVX2 instructions.");
desc("AVX2", "yes", "-avx2", "Compile with use of AVX2 instructions.\n");
+ desc("AVX512", "no", "-no-avx512", "Do not compile with use of AVX512 instructions.");
+ desc("AVX512", "yes", "-avx512", "Compile with use of AVX512 instructions.\n");
desc("SSL", "no", "-no-ssl", "Do not compile support for SSL.");
desc("SSL", "yes", "-ssl", "Enable run-time SSL support.");
desc("OPENSSL", "no", "-no-openssl", "Do not compile support for OpenSSL.");
@@ -2074,8 +1993,6 @@ bool Configure::displayHelp()
desc("STYLE_WINDOWSXP", "auto", "", " windowsxp", ' ');
desc("STYLE_WINDOWSVISTA", "auto", "", " windowsvista", ' ');
desc("STYLE_FUSION", "yes", "", " fusion", ' ');
- desc("STYLE_WINDOWSCE", "yes", "", " windowsce", ' ');
- desc("STYLE_WINDOWSMOBILE" , "yes", "", " windowsmobile\n", ' ');
desc("NATIVE_GESTURES", "no", "-no-native-gestures", "Do not use native gestures on Windows 7.");
desc("NATIVE_GESTURES", "yes", "-native-gestures", "Use native gestures on Windows 7.\n");
desc("MSVC_MP", "no", "-no-mp", "Do not use multiple processors for compiling with MSVC");
@@ -2085,15 +2002,6 @@ bool Configure::displayHelp()
desc( "-saveconfig <config>", "Run configure and save the parameters in file configure_<config>.cache.");
desc( "-redo", "Run configure with the same parameters as last time.\n");
desc( "-v, -verbose", "Run configure tests with verbose output.\n");
-
- // Qt\Windows CE only options go below here -----------------------------------------------------------------------------
- desc("Qt for Windows CE only:\n\n");
- desc("CE_CRT", "no", "-no-crt" , "Do not add the C runtime to default deployment rules.");
- desc("CE_CRT", "yes", "-qt-crt", "Qt identifies C runtime during project generation.");
- desc( "-crt <path>", "Specify path to C runtime used for project generation.\n");
- desc("CETEST", "no", "-no-cetest", "Do not compile Windows CE remote test application.");
- desc("CETEST", "yes", "-cetest", "Compile Windows CE remote test application.\n");
- desc( "-signature <file>", "Use <file> for signing the target project.");
return true;
}
return false;
@@ -2187,11 +2095,6 @@ bool Configure::checkAngleAvailability(QString *errorMessage /* = 0 */) const
// it is also present in MinGW.
const QString directXSdk = Environment::detectDirectXSdk();
const Compiler compiler = Environment::compilerFromQMakeSpec(dictionary[QStringLiteral("QMAKESPEC")]);
- if (compiler >= CC_MSVC2005 && compiler <= CC_MSVC2008) {
- if (errorMessage)
- *errorMessage = QStringLiteral("ANGLE is no longer supported for this compiler.");
- return false;
- }
if (compiler < CC_MSVC2012 && directXSdk.isEmpty()) {
if (errorMessage)
*errorMessage = QStringLiteral("There is no Direct X SDK installed or the environment variable \"DXSDK_DIR\" is not set.");
@@ -2231,6 +2134,24 @@ bool Configure::checkAngleAvailability(QString *errorMessage /* = 0 */) const
return true;
}
+QString Configure::checkAvx512Availability()
+{
+ static const char avx512features[][5] = { "cd", "er", "pf", "bw", "dq", "vl", "ifma", "vbmi" };
+
+ // try AVX512 Foundation. No Foundation, nothing else works.
+ if (!tryCompileProject("common/avx512", "AVX512=F"))
+ return QString();
+
+ QString available = "avx512f";
+ for (size_t i = 0; i < sizeof(avx512features)/sizeof(avx512features[0]); ++i) {
+ if (tryCompileProject("common/avx512", QStringLiteral("AVX512=%0").arg(avx512features[i]).toUpper())) {
+ available += " avx512";
+ available += avx512features[i];
+ }
+ }
+ return available;
+}
+
/*!
Checks the system for the availability of a feature.
Returns true if the feature is available, else false.
@@ -2287,7 +2208,7 @@ bool Configure::checkAvailability(const QString &part)
available = true; // Built in, we have a fork
else if (part == "SQL_SQLITE_LIB") {
if (dictionary[ "SQL_SQLITE_LIB" ] == "system") {
- if ((platform() == QNX) || (platform() == BLACKBERRY)) {
+ if (platform() == QNX) {
available = true;
dictionary[ "QT_LFLAGS_SQLITE" ] += "-lsqlite3 -lz";
} else {
@@ -2302,8 +2223,6 @@ bool Configure::checkAvailability(const QString &part)
available = findFile("sqlite.h") && findFile("sqlite.lib");
else if (part == "SQL_IBASE")
available = findFile("ibase.h") && (findFile("gds32_ms.lib") || findFile("gds32.lib"));
- else if (part == "OPENGL_ES_2")
- available = (dictionary.value("XQMAKESPEC").startsWith("wince"));
else if (part == "SSE2")
available = tryCompileProject("common/sse2");
else if (part == "SSE3")
@@ -2324,20 +2243,7 @@ bool Configure::checkAvailability(const QString &part)
available = dictionary.contains("XQMAKESPEC") && tryCompileProject("common/libproxy");
else if (part == "DBUS")
available = findFile("dbus\\dbus.h");
- else if (part == "CETEST") {
- const QString rapiHeader = QDir::toNativeSeparators(locateFile("rapi.h"));
- const QString rapiLib = QDir::toNativeSeparators(locateFile("rapi.lib"));
- available = (dictionary.value("XQMAKESPEC").startsWith("wince")) && !rapiHeader.isEmpty() && !rapiLib.isEmpty();
- if (available) {
- dictionary[ "QT_CE_RAPI_INC" ] += QLatin1String("\"") + rapiHeader + QLatin1String("\"");
- dictionary[ "QT_CE_RAPI_LIB" ] += QLatin1String("\"") + rapiLib + QLatin1String("\"");
- }
- else if (dictionary[ "CETEST_REQUESTED" ] == "yes") {
- cout << "cetest could not be enabled: rapi.h and rapi.lib could not be found." << endl;
- cout << "Make sure the environment is set up for compiling with ActiveSync." << endl;
- dictionary[ "DONE" ] = "error";
- }
- } else if (part == "INCREDIBUILD_XGE") {
+ else if (part == "INCREDIBUILD_XGE") {
available = !QStandardPaths::findExecutable(QStringLiteral("BuildConsole.exe")).isEmpty()
&& !QStandardPaths::findExecutable(QStringLiteral("xgConsole.exe")).isEmpty();
} else if (part == "WMSDK") {
@@ -2348,6 +2254,8 @@ bool Configure::checkAvailability(const QString &part)
available = findFile("mfapi.h") && findFile("mf.lib");
} else if (part == "DIRECTWRITE") {
available = tryCompileProject("win/directwrite");
+ } else if (part == "DIRECTWRITE2") {
+ available = tryCompileProject("win/directwrite2");
} else if (part == "DIRECT2D") {
available = tryCompileProject("qpa/direct2d");
} else if (part == "ICONV") {
@@ -2363,22 +2271,23 @@ bool Configure::checkAvailability(const QString &part)
} else if (part == "QT_EVENTFD") {
available = tryCompileProject("unix/eventfd");
} else if (part == "CUPS") {
- available = (platform() != WINDOWS) && (platform() != WINDOWS_CE) && (platform() != WINDOWS_RT) && tryCompileProject("unix/cups");
+ available = (platform() != WINDOWS) && (platform() != WINDOWS_RT) && tryCompileProject("unix/cups");
} else if (part == "STACK_PROTECTOR_STRONG") {
- available = (platform() == QNX || platform() == BLACKBERRY) && compilerSupportsFlag("qcc -fstack-protector-strong");
+ available = (platform() == QNX) && compilerSupportsFlag("qcc -fstack-protector-strong");
} else if (part == "SLOG2") {
available = tryCompileProject("unix/slog2");
} else if (part == "QNX_IMF") {
available = tryCompileProject("unix/qqnx_imf");
} else if (part == "PPS") {
- available = (platform() == QNX || platform() == BLACKBERRY) && tryCompileProject("unix/pps");
+ available = (platform() == QNX) && tryCompileProject("unix/pps");
} else if (part == "LGMON") {
- available = (platform() == QNX || platform() == BLACKBERRY)
- && tryCompileProject("unix/lgmon");
+ available = (platform() == QNX) && tryCompileProject("unix/lgmon");
} else if (part == "NEON") {
available = dictionary["QT_CPU_FEATURES"].contains("neon");
} else if (part == "FONT_CONFIG") {
available = tryCompileProject("unix/fontconfig");
+ } else if (part == "DOUBLECONVERSION") {
+ available = tryCompileProject("unix/doubleconversion");
}
return available;
@@ -2396,7 +2305,10 @@ void Configure::autoDetection()
if (dictionary["C++STD"] == "auto" && !dictionary["QMAKESPEC"].contains("msvc")) {
if (!tryCompileProject("common/c++11")) {
- dictionary["C++STD"] = "c++98";
+ dictionary["DONE"] = "error";
+ cout << "ERROR: Qt requires a C++11 compiler and yours does not seem to be that." << endl
+ << "Please upgrade." << endl;
+ return;
} else if (!tryCompileProject("common/c++14")) {
dictionary["C++STD"] = "c++11";
} else if (!tryCompileProject("common/c++1z")) {
@@ -2506,6 +2418,8 @@ void Configure::autoDetection()
dictionary["AVX"] = checkAvailability("AVX") ? "yes" : "no";
if (dictionary["AVX2"] == "auto")
dictionary["AVX2"] = checkAvailability("AVX2") ? "yes" : "no";
+ if (dictionary["AVX512"] == "auto")
+ dictionary["AVX512"] = checkAvx512Availability();
if (dictionary["NEON"] == "auto")
dictionary["NEON"] = checkAvailability("NEON") ? "yes" : "no";
if (dictionary["SSL"] == "auto") {
@@ -2535,10 +2449,6 @@ void Configure::autoDetection()
if (dictionary["WMSDK"] == "auto")
dictionary["WMSDK"] = checkAvailability("WMSDK") ? "yes" : "no";
- // Qt/WinCE remote test application
- if (dictionary["CETEST"] == "auto")
- dictionary["CETEST"] = checkAvailability("CETEST") ? "yes" : "no";
-
// Detection of IncrediBuild buildconsole
if (dictionary["INCREDIBUILD_XGE"] == "auto")
dictionary["INCREDIBUILD_XGE"] = checkAvailability("INCREDIBUILD_XGE") ? "yes" : "no";
@@ -2571,11 +2481,11 @@ void Configure::autoDetection()
if (dictionary["STACK_PROTECTOR_STRONG"] == "auto")
dictionary["STACK_PROTECTOR_STRONG"] = checkAvailability("STACK_PROTECTOR_STRONG") ? "yes" : "no";
- if ((platform() == QNX || platform() == BLACKBERRY) && dictionary["SLOG2"] == "auto") {
+ if (platform() == QNX && dictionary["SLOG2"] == "auto") {
dictionary["SLOG2"] = checkAvailability("SLOG2") ? "yes" : "no";
}
- if ((platform() == QNX || platform() == BLACKBERRY) && dictionary["QNX_IMF"] == "auto") {
+ if (platform() == QNX && dictionary["QNX_IMF"] == "auto") {
dictionary["QNX_IMF"] = checkAvailability("QNX_IMF") ? "yes" : "no";
}
@@ -2583,7 +2493,7 @@ void Configure::autoDetection()
dictionary["PPS"] = checkAvailability("PPS") ? "yes" : "no";
}
- if ((platform() == QNX || platform() == BLACKBERRY) && dictionary["LGMON"] == "auto") {
+ if (platform() == QNX && dictionary["LGMON"] == "auto") {
dictionary["LGMON"] = checkAvailability("LGMON") ? "yes" : "no";
}
@@ -2596,9 +2506,17 @@ void Configure::autoDetection()
if ((dictionary["FONT_CONFIG"] == "yes") && (dictionary["FREETYPE_FROM"] == "default"))
dictionary["FREETYPE"] = "system";
+ if (dictionary["DOUBLECONVERSION"] == "auto")
+ dictionary["DOUBLECONVERSION"] = checkAvailability("DOUBLECONVERSION") ? "system" : "qt";
+
if (dictionary["DIRECTWRITE"] == "auto")
dictionary["DIRECTWRITE"] = checkAvailability("DIRECTWRITE") ? "yes" : "no";
+ if (dictionary["DIRECTWRITE"] == "no")
+ dictionary["DIRECTWRITE2"] = "no";
+ else if (dictionary["DIRECTWRITE2"] == "auto")
+ dictionary["DIRECTWRITE2"] = checkAvailability("DIRECTWRITE2") ? "yes" : "no";
+
// Mark all unknown "auto" to the default value..
for (QMap<QString,QString>::iterator i = dictionary.begin(); i != dictionary.end(); ++i) {
if (i.value() == "auto")
@@ -2651,9 +2569,8 @@ bool Configure::verifyConfiguration()
<< "Oracle driver, as the current build will most likely fail." << endl;
prompt = true;
}
- if (dictionary["QMAKESPEC"].endsWith("win32-msvc.net")) {
- cout << "WARNING: The makespec win32-msvc.net is deprecated. Consider using" << endl
- << "win32-msvc2002 or win32-msvc2003 instead." << endl;
+ if (dictionary["QMAKESPEC"].endsWith("win32-msvc2008") || dictionary["QMAKESPEC"].endsWith("win32-msvc2010")) {
+ cout << "ERROR: Qt cannot be compiled with Visual Studio 2008 or 2010." << endl;
prompt = true;
}
if (0 != dictionary["ARM_FPU_TYPE"].size()) {
@@ -2863,6 +2780,14 @@ void Configure::generateOutputVars()
if (dictionary[ "LIBPNG" ] == "system")
qtConfig += "system-png";
+ // Double conversion -----------------------------------------------
+ if (dictionary[ "DOUBLECONVERSION" ] == "qt")
+ qtConfig += "doubleconversion";
+ else if (dictionary[ "DOUBLECONVERSION" ] == "system")
+ qtConfig += "system-doubleconversion";
+ else if (dictionary[ "DOUBLECONVERSION" ] == "no")
+ qtConfig += "no-doubleconversion";
+
// Text rendering --------------------------------------------------
if (dictionary[ "FREETYPE" ] == "yes")
qtConfig += "freetype";
@@ -2887,12 +2812,6 @@ void Configure::generateOutputVars()
if (dictionary[ "STYLE_WINDOWSVISTA" ] == "yes")
qmakeStyles += "windowsvista";
- if (dictionary[ "STYLE_WINDOWSCE" ] == "yes")
- qmakeStyles += "windowsce";
-
- if (dictionary[ "STYLE_WINDOWSMOBILE" ] == "yes")
- qmakeStyles += "windowsmobile";
-
if (dictionary[ "STYLE_ANDROID" ] == "yes")
qmakeStyles += "android";
@@ -3021,9 +2940,6 @@ void Configure::generateOutputVars()
else if (dictionary[ "DBUS" ] == "linked")
qtConfig += "dbus dbus-linked";
- if (dictionary[ "CETEST" ] == "yes")
- qtConfig += "cetest";
-
// ### Vestige
if (dictionary["AUDIO_BACKEND"] == "yes")
qtConfig += "audio-backend";
@@ -3037,6 +2953,9 @@ void Configure::generateOutputVars()
if (dictionary["DIRECTWRITE"] == "yes")
qtConfig += "directwrite";
+ if (dictionary["DIRECTWRITE2"] == "yes")
+ qtConfig += "directwrite2";
+
if (dictionary["DIRECT2D"] == "yes")
qtConfig += "direct2d";
@@ -3088,6 +3007,9 @@ void Configure::generateOutputVars()
if (dictionary["REDUCE_EXPORTS"] == "yes")
qtConfig += "reduce_exports";
+ if (!dictionary["POLL"].isEmpty())
+ qtConfig += "poll_" + dictionary["POLL"];
+
// We currently have no switch for QtConcurrent, so add it unconditionally.
qtConfig += "concurrent";
@@ -3211,14 +3133,6 @@ void Configure::generateCachefile()
if (dictionary["QT_XKBCOMMON"] == "no")
moduleStream << "DEFINES += QT_NO_XKBCOMMON" << endl;
- if (dictionary["CETEST"] == "yes") {
- moduleStream << "QT_CE_RAPI_INC = " << formatPath(dictionary["QT_CE_RAPI_INC"]) << endl;
- moduleStream << "QT_CE_RAPI_LIB = " << formatPath(dictionary["QT_CE_RAPI_LIB"]) << endl;
- }
-
- if (dictionary["CE_SIGNATURE"] != QLatin1String("no"))
- moduleStream << "DEFAULT_SIGNATURE=" << dictionary["CE_SIGNATURE"] << endl;
-
// embedded
if (!dictionary["KBD_DRIVERS"].isEmpty())
moduleStream << "kbd-drivers += "<< dictionary["KBD_DRIVERS"]<<endl;
@@ -3244,6 +3158,8 @@ void Configure::generateCachefile()
moduleStream << " avx";
if (dictionary[ "AVX2" ] == "yes")
moduleStream << " avx2";
+ if (!dictionary[ "AVX512" ].isEmpty())
+ moduleStream << ' ' << dictionary[ "AVX512" ];
if (dictionary[ "NEON" ] == "yes")
moduleStream << " neon";
if (dictionary[ "LARGE_FILE" ] == "yes")
@@ -3565,6 +3481,9 @@ void Configure::generateQConfigPri()
if (dictionary["DIRECTWRITE"] == "yes")
configStream << " directwrite";
+ if (dictionary["DIRECTWRITE2"] == "yes")
+ configStream << " directwrite2";
+
if (dictionary["ANDROID_STYLE_ASSETS"] == "yes")
configStream << " android-style-assets";
@@ -3577,7 +3496,7 @@ void Configure::generateQConfigPri()
configStream << " QT_TARGET_ARCH = " << dictionary["QT_ARCH"] << endl;
configStream << "} else {" << endl;
configStream << " QT_ARCH = " << dictionary["QT_ARCH"] << endl;
- if (dictionary.contains("XQMAKESPEC") && !dictionary["XQMAKESPEC"].startsWith("wince")) {
+ if (dictionary.contains("XQMAKESPEC")) {
// FIXME: add detection
configStream << " QMAKE_DEFAULT_LIBDIRS = /lib /usr/lib" << endl;
configStream << " QMAKE_DEFAULT_INCDIRS = /usr/include /usr/local/include" << endl;
@@ -3730,6 +3649,8 @@ void Configure::generateConfigfiles()
tmpStream << "#define QT_COMPILER_SUPPORTS_AVX 1" << endl;
if (dictionary[ "AVX2" ] == "yes")
tmpStream << "#define QT_COMPILER_SUPPORTS_AVX2 1" << endl;
+ foreach (const QString &avx512feature, dictionary[ "AVX512" ].split(' ', QString::SkipEmptyParts))
+ tmpStream << "#define QT_COMPILER_SUPPRTS_" << avx512feature.toUpper() << " 1" << endl;
if (dictionary["QREAL"] != "double") {
tmpStream << "#define QT_COORD_TYPE " << dictionary["QREAL"] << endl;
@@ -3744,9 +3665,6 @@ void Configure::generateConfigfiles()
if (dictionary["STYLE_WINDOWSXP"] != "yes" && dictionary["STYLE_WINDOWSVISTA"] != "yes")
qconfigList += "QT_NO_STYLE_WINDOWSXP";
if (dictionary["STYLE_WINDOWSVISTA"] != "yes") qconfigList += "QT_NO_STYLE_WINDOWSVISTA";
- if (dictionary["STYLE_WINDOWSCE"] != "yes") qconfigList += "QT_NO_STYLE_WINDOWSCE";
- if (dictionary["STYLE_WINDOWSMOBILE"] != "yes") qconfigList += "QT_NO_STYLE_WINDOWSMOBILE";
- if (dictionary["STYLE_GTK"] != "yes") qconfigList += "QT_NO_STYLE_GTK";
if (dictionary["GIF"] == "yes") qconfigList += "QT_BUILTIN_GIF_READER=1";
if (dictionary["PNG"] != "yes") qconfigList += "QT_NO_IMAGEFORMAT_PNG";
@@ -3784,8 +3702,7 @@ void Configure::generateConfigfiles()
if (dictionary["POSIX_IPC"] == "yes")
qconfigList += "QT_POSIX_IPC";
- else if ((platform() != ANDROID) && (platform() != WINDOWS) && (platform() != WINDOWS_CE)
- && (platform() != WINDOWS_RT))
+ else if ((platform() != ANDROID) && (platform() != WINDOWS) && (platform() != WINDOWS_RT))
qconfigList << "QT_NO_SYSTEMSEMAPHORE" << "QT_NO_SHAREDMEMORY";
if (dictionary["FONT_CONFIG"] == "no") qconfigList += "QT_NO_FONTCONFIG";
@@ -3897,13 +3814,19 @@ void Configure::displayConfig()
sout << "Using PCH .................." << dictionary[ "PCH" ] << endl;
sout << "Accessibility support......." << dictionary[ "ACCESSIBILITY" ] << endl;
sout << "RTTI support................" << dictionary[ "RTTI" ] << endl;
- sout << "SSE2 support................" << dictionary[ "SSE2" ] << endl;
- sout << "SSE3 support................" << dictionary[ "SSE3" ] << endl;
- sout << "SSSE3 support..............." << dictionary[ "SSSE3" ] << endl;
- sout << "SSE4.1 support.............." << dictionary[ "SSE4_1" ] << endl;
- sout << "SSE4.2 support.............." << dictionary[ "SSE4_2" ] << endl;
- sout << "AVX support................." << dictionary[ "AVX" ] << endl;
- sout << "AVX2 support................" << dictionary[ "AVX2" ] << endl;
+ sout << "SSE support................."
+ << (dictionary[ "SSE2" ] == "no" ? "<none>" : "SSE2")
+ << (dictionary[ "SSE3" ] == "no" ? "" : " SSE3")
+ << (dictionary[ "SSSE3" ] == "no" ? "" : " SSSE3")
+ << (dictionary[ "SSE4_1" ] == "no" ? "" : " SSE4.1")
+ << (dictionary[ "SSE4_2" ] == "no" ? "" : " SSE4.2")
+ << endl;
+ sout << "AVX support................."
+ << (dictionary[ "AVX" ] == "no" ? "<none>" : "AVX")
+ << (dictionary[ "AVX2" ] == "no" ? "" : " AVX2")
+ << endl;
+ sout << "AVX512 support.............."
+ << (dictionary[ "AVX512" ].isEmpty() ? QString("<none>") : dictionary[ "AVX512" ].toUpper()) << endl;
sout << "NEON support................" << dictionary[ "NEON" ] << endl;
sout << "OpenGL support.............." << dictionary[ "OPENGL" ] << endl;
sout << "Large File support.........." << dictionary[ "LARGE_FILE" ] << endl;
@@ -3924,6 +3847,7 @@ void Configure::displayConfig()
sout << "Qt GUI module support......." << dictionary[ "GUI" ] << endl;
sout << "QML debugging..............." << dictionary[ "QML_DEBUG" ] << endl;
sout << "DirectWrite support........." << dictionary[ "DIRECTWRITE" ] << endl;
+ sout << "DirectWrite 2 support......." << dictionary[ "DIRECTWRITE2" ] << endl;
sout << "Use system proxies.........." << dictionary[ "SYSTEM_PROXIES" ] << endl;
sout << endl;
@@ -3937,12 +3861,13 @@ void Configure::displayConfig()
sout << " GIF support............." << dictionary[ "GIF" ] << endl;
sout << " JPEG support............" << dictionary[ "JPEG" ] << endl;
sout << " PNG support............." << dictionary[ "PNG" ] << endl;
+ sout << " DoubleConversion........" << dictionary[ "DOUBLECONVERSION" ] << endl;
sout << " FreeType support........" << dictionary[ "FREETYPE" ] << endl;
sout << " Fontconfig support......" << dictionary[ "FONT_CONFIG" ] << endl;
sout << " HarfBuzz support........" << dictionary[ "HARFBUZZ" ] << endl;
sout << " PCRE support............" << dictionary[ "PCRE" ] << endl;
sout << " ICU support............." << dictionary[ "ICU" ] << endl;
- if ((platform() == QNX) || (platform() == BLACKBERRY)) {
+ if (platform() == QNX) {
sout << " SLOG2 support..........." << dictionary[ "SLOG2" ] << endl;
sout << " IMF support............." << dictionary[ "QNX_IMF" ] << endl;
sout << " PPS support............." << dictionary[ "PPS" ] << endl;
@@ -3957,8 +3882,6 @@ void Configure::displayConfig()
sout << " Windows XP.............." << dictionary[ "STYLE_WINDOWSXP" ] << endl;
sout << " Windows Vista..........." << dictionary[ "STYLE_WINDOWSVISTA" ] << endl;
sout << " Fusion.................." << dictionary[ "STYLE_FUSION" ] << endl;
- sout << " Windows CE.............." << dictionary[ "STYLE_WINDOWSCE" ] << endl;
- sout << " Windows Mobile.........." << dictionary[ "STYLE_WINDOWSMOBILE" ] << endl;
sout << endl;
sout << "Sql Drivers:" << endl;
@@ -3990,13 +3913,6 @@ void Configure::displayConfig()
sout << "Examples installed to......." << formatConfigPath("QT_REL_INSTALL_EXAMPLES") << endl;
sout << "Tests installed to.........." << formatConfigPath("QT_REL_INSTALL_TESTS") << endl;
- if (dictionary.contains("XQMAKESPEC") && dictionary["XQMAKESPEC"].startsWith(QLatin1String("wince"))) {
- sout << "Using c runtime detection..." << dictionary[ "CE_CRT" ] << endl;
- sout << "Cetest support.............." << dictionary[ "CETEST" ] << endl;
- sout << "Signature..................." << dictionary[ "CE_SIGNATURE"] << endl;
- sout << endl;
- }
-
if (checkAvailability("INCREDIBUILD_XGE"))
sout << "Using IncrediBuild XGE......" << dictionary["INCREDIBUILD_XGE"] << endl;
if (!qmakeDefines.isEmpty()) {
@@ -4058,14 +3974,6 @@ void Configure::displayConfig()
<< "will be the same unless you are cross-compiling)." << endl
<< endl;
}
- if (dictionary["C++STD"] == "c++98") {
- sout << endl
- << "NOTE: The -no-c++11 / -c++-level c++98 option is deprecated." << endl
- << endl
- << "Qt 5.7 will require C++11 support. The options are in effect for this" << endl
- << "Qt 5.6 build, but you should update your build scripts to remove the" << endl
- << "option and, if necessary, upgrade your compiler." << endl;
- }
if (dictionary["RELEASE_TOOLS"] == "yes" && dictionary["BUILD"] != "debug" ) {
sout << endl
<< "NOTE: -optimized-tools is not useful in -release mode." << endl;
@@ -4308,7 +4216,7 @@ void Configure::generateQConfigCpp()
<< confStrings[1] << "#endif\n"
<< ";\n"
<< endl;
- if ((platform() != WINDOWS) && (platform() != WINDOWS_CE) && (platform() != WINDOWS_RT))
+ if ((platform() != WINDOWS) && (platform() != WINDOWS_RT))
tmpStream << "#define QT_CONFIGURE_SETTINGS_PATH \"" << dictionary["QT_REL_INSTALL_SETTINGS"] << "\"" << endl;
tmpStream << endl
@@ -4363,10 +4271,10 @@ void Configure::buildQmake()
<< "QT_MAJOR_VERSION = " << dictionary["VERSION_MAJOR"] << endl
<< "QT_MINOR_VERSION = " << dictionary["VERSION_MINOR"] << endl
<< "QT_PATCH_VERSION = " << dictionary["VERSION_PATCH"] << endl;
- if (dictionary[ "QMAKESPEC" ] == QString("win32-g++")) {
- stream << "QMAKESPEC = $(SOURCE_PATH)\\mkspecs\\win32-g++" << endl
+ if (dictionary[ "QMAKESPEC" ].startsWith("win32-g++")) {
+ stream << "QMAKESPEC = $(SOURCE_PATH)\\mkspecs\\" << dictionary[ "QMAKESPEC" ] << endl
<< "EXTRA_CFLAGS = -DUNICODE -ffunction-sections" << endl
- << "EXTRA_CXXFLAGS = -DUNICODE -ffunction-sections" << endl
+ << "EXTRA_CXXFLAGS = -std=c++11 -DUNICODE -ffunction-sections" << endl
<< "EXTRA_LFLAGS = -Wl,--gc-sections" << endl
<< "QTOBJS = qfilesystemengine_win.o \\" << endl
<< " qfilesystemiterator_win.o \\" << endl
@@ -4544,18 +4452,17 @@ bool Configure::showLicense(QString orgLicenseFile)
return true;
}
- bool showLgpl2 = true;
+ bool showGpl2 = true;
QString licenseFile = orgLicenseFile;
QString theLicense;
if (dictionary["EDITION"] == "OpenSource") {
if (platform() != WINDOWS_RT
- && platform() != WINDOWS_CE
&& (platform() != ANDROID || dictionary["ANDROID_STYLE_ASSETS"] == "no")) {
- theLicense = "GNU Lesser General Public License (LGPL) version 2.1"
- "\nor the GNU Lesser General Public License (LGPL) version 3";
+ theLicense = "GNU Lesser General Public License (LGPL) version 3\n"
+ "or the GNU General Public License (GPL) version 2";
} else {
theLicense = "GNU Lesser General Public License (LGPL) version 3";
- showLgpl2 = false;
+ showGpl2 = false;
}
} else {
// the first line of the license file tells us which license it is
@@ -4573,9 +4480,9 @@ bool Configure::showLicense(QString orgLicenseFile)
<< "the " << theLicense << "." << endl
<< endl;
if (dictionary["EDITION"] == "OpenSource") {
- cout << "Type '3' to view the Lesser GNU General Public License version 3 (LGPLv3)." << endl;
- if (showLgpl2)
- cout << "Type 'L' to view the Lesser GNU General Public License version 2.1 (LGPLv2.1)." << endl;
+ cout << "Type 'L' to view the GNU Lesser General Public License version 3 (LGPLv3)." << endl;
+ if (showGpl2)
+ cout << "Type 'G' to view the GNU General Public License version 2 (GPLv2)." << endl;
} else {
cout << "Type '?' to view the " << theLicense << "." << endl;
}
@@ -4592,10 +4499,10 @@ bool Configure::showLicense(QString orgLicenseFile)
return false;
} else {
if (dictionary["EDITION"] == "OpenSource") {
- if (accept == '3')
- licenseFile = orgLicenseFile + "/LICENSE.LGPLv3";
+ if (accept == 'L')
+ licenseFile = orgLicenseFile + "/LICENSE.LGPL3";
else
- licenseFile = orgLicenseFile + "/LICENSE.LGPLv21";
+ licenseFile = orgLicenseFile + "/LICENSE.GPL2";
}
// Get console line height, to fill the screen properly
int i = 0, screenHeight = 25; // default
@@ -4630,7 +4537,7 @@ void Configure::readLicense()
dictionary["LICENSE FILE"] = sourcePath;
bool openSource = false;
- bool hasOpenSource = QFile::exists(dictionary["LICENSE FILE"] + "/LICENSE.LGPLv3") || QFile::exists(dictionary["LICENSE FILE"] + "/LICENSE.LGPLv21");
+ bool hasOpenSource = QFile::exists(dictionary["LICENSE FILE"] + "/LICENSE.LGPL3") || QFile::exists(dictionary["LICENSE FILE"] + "/LICENSE.GPL2");
if (dictionary["BUILDTYPE"] == "commercial") {
openSource = false;
} else if (dictionary["BUILDTYPE"] == "opensource") {
@@ -4716,14 +4623,10 @@ QString Configure::platformName() const
default:
case WINDOWS:
return QStringLiteral("Qt for Windows");
- case WINDOWS_CE:
- return QStringLiteral("Qt for Windows CE");
case WINDOWS_RT:
return QStringLiteral("Qt for Windows Runtime");
case QNX:
return QStringLiteral("Qt for QNX");
- case BLACKBERRY:
- return QStringLiteral("Qt for Blackberry");
case ANDROID:
return QStringLiteral("Qt for Android");
case OTHER:
@@ -4736,14 +4639,11 @@ QString Configure::qpaPlatformName() const
switch (platform()) {
default:
case WINDOWS:
- case WINDOWS_CE:
return QStringLiteral("windows");
case WINDOWS_RT:
return QStringLiteral("winrt");
case QNX:
return QStringLiteral("qnx");
- case BLACKBERRY:
- return QStringLiteral("blackberry");
case ANDROID:
return QStringLiteral("android");
case OTHER:
@@ -4759,15 +4659,9 @@ int Configure::platform() const
if ((xQMakeSpec.startsWith("winphone") || xQMakeSpec.startsWith("winrt")))
return WINDOWS_RT;
- if ((qMakeSpec.startsWith("wince") || xQMakeSpec.startsWith("wince")))
- return WINDOWS_CE;
-
if (xQMakeSpec.contains("qnx"))
return QNX;
- if (xQMakeSpec.contains("blackberry"))
- return BLACKBERRY;
-
if (xQMakeSpec.contains("android"))
return ANDROID;