summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/configure/Makefile.mingw2
-rw-r--r--tools/configure/Makefile.win322
-rw-r--r--tools/configure/configureapp.cpp133
-rw-r--r--tools/configure/configureapp.h1
-rw-r--r--tools/configure/environment.cpp21
5 files changed, 90 insertions, 69 deletions
diff --git a/tools/configure/Makefile.mingw b/tools/configure/Makefile.mingw
index 5bdfc3f32c..75061c0a15 100644
--- a/tools/configure/Makefile.mingw
+++ b/tools/configure/Makefile.mingw
@@ -6,7 +6,7 @@ RAW_PCH = configure_pch.h
PCH = $(RAW_PCH).gch/c++
DEFINES = -DUNICODE -DQT_NO_DATASTREAM -DQT_NO_CODECS -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_LITE_COMPONENT -DQT_NO_COMPRESS -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -D_CRT_SECURE_NO_DEPRECATE -DQT_BOOTSTRAPPED -DQT_BUILD_CONFIGURE -DQT_VERSION_STR=\"$(QTVERSION)\" -DQT_VERSION_MAJOR=$(QT_VERSION_MAJOR) -DQT_VERSION_MINOR=$(QT_VERSION_MINOR) -DQT_VERSION_PATCH=$(QT_VERSION_PATCH)
INCPATH = -I"../../include" -I"../../include/QtCore" -I"../../include/QtCore/$(QTVERSION)" -I"../../include/QtCore/$(QTVERSION)/QtCore" -I"$(TOOLSRC)/shared" -I"$(QTSRC)mkspecs/win32-g++"
-CXXFLAGS_BARE = -fno-rtti -fno-exceptions -mthreads -Wall -Wextra $(DEFINES) $(INCPATH)
+CXXFLAGS_BARE = -std=c++11 -fno-rtti -fno-exceptions -mthreads -Wall -Wextra $(DEFINES) $(INCPATH)
CXXFLAGS = -include $(RAW_PCH) $(CXXFLAGS_BARE)
LINK = g++
LFLAGS = -Wl,-subsystem,console -mthreads
diff --git a/tools/configure/Makefile.win32 b/tools/configure/Makefile.win32
index 8d6fe8bf72..c83ecaaeea 100644
--- a/tools/configure/Makefile.win32
+++ b/tools/configure/Makefile.win32
@@ -4,7 +4,7 @@ CONFSRC = $(TOOLSRC)\configure
PCH = configure_pch.pch
DEFINES = -DUNICODE -DQT_NO_CODECS -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_LITE_COMPONENT -DQT_NO_COMPRESS -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -D_CRT_SECURE_NO_DEPRECATE -DQT_BOOTSTRAPPED -DQT_BUILD_CONFIGURE -DQT_VERSION_STR=\"$(QTVERSION)\" -DQT_VERSION_MAJOR=$(QT_VERSION_MAJOR) -DQT_VERSION_MINOR=$(QT_VERSION_MINOR) -DQT_VERSION_PATCH=$(QT_VERSION_PATCH)
-INCPATH = -I"..\..\include" -I"..\..\include\QtCore" -I"..\..\include\QtCore\$(QTVERSION)" -I"..\..\include\QtCore\$(QTVERSION)\QtCore" -I"$(TOOLSRC)\shared" -I"$(QTSRC)mkspecs\win32-msvc2008"
+INCPATH = -I"..\..\include" -I"..\..\include\QtCore" -I"..\..\include\QtCore\$(QTVERSION)" -I"..\..\include\QtCore\$(QTVERSION)\QtCore" -I"$(TOOLSRC)\shared" -I"$(QTSRC)mkspecs\win32-msvc2012"
CXXFLAGS_BARE = -nologo -Zc:wchar_t -W3 -GR -EHsc -w34100 -w34189 -wd4577 $(CFLAGS_CRT) $(EXTRA_CXXFLAGS) $(DEFINES) $(INCPATH)
CXXFLAGS = -FIconfigure_pch.h -Yuconfigure_pch.h -Fp$(PCH) -MP $(CXXFLAGS_BARE)
LINK = link
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 3767640536..24f2cf2dd8 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -160,6 +160,7 @@ 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";
@@ -262,6 +263,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[ "HARFBUZZ" ] = "qt";
@@ -280,7 +282,6 @@ Configure::Configure(int& argc, char** argv) : verbose(0)
dictionary[ "STYLE_FUSION" ] = "yes";
dictionary[ "STYLE_WINDOWSCE" ] = "no";
dictionary[ "STYLE_WINDOWSMOBILE" ] = "no";
- dictionary[ "STYLE_GTK" ] = "no";
dictionary[ "SQL_MYSQL" ] = "no";
dictionary[ "SQL_ODBC" ] = "no";
@@ -306,7 +307,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);
@@ -472,25 +473,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;
}
}
@@ -632,6 +629,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";
@@ -894,6 +899,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";
@@ -1422,19 +1431,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 {
@@ -1710,6 +1712,7 @@ void Configure::applySpecSpecifics()
dictionary[ "SSE4_2" ] = "no";
dictionary[ "AVX" ] = "no";
dictionary[ "AVX2" ] = "no";
+ dictionary[ "AVX512" ] = "no";
dictionary[ "CE_CRT" ] = "yes";
dictionary[ "LARGE_FILE" ] = "no";
dictionary[ "ANGLE" ] = "no";
@@ -1825,7 +1828,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).");
@@ -1969,6 +1972,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.");
@@ -2028,6 +2035,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.");
@@ -2172,11 +2181,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.");
@@ -2216,6 +2220,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 (int 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.
@@ -2364,6 +2386,8 @@ bool Configure::checkAvailability(const QString &part)
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;
@@ -2381,7 +2405,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")) {
@@ -2491,6 +2518,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") {
@@ -2578,6 +2607,9 @@ void Configure::autoDetection()
if (dictionary["FONT_CONFIG"] == "auto")
dictionary["FONT_CONFIG"] = checkAvailability("FONT_CONFIG") ? "yes" : "no";
+ if (dictionary["DOUBLECONVERSION"] == "auto")
+ dictionary["DOUBLECONVERSION"] = checkAvailability("DOUBLECONVERSION") ? "system" : "qt";
+
if (dictionary["DIRECTWRITE"] == "auto")
dictionary["DIRECTWRITE"] = checkAvailability("DIRECTWRITE") ? "yes" : "no";
@@ -2633,9 +2665,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()) {
@@ -2824,6 +2855,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";
@@ -3208,6 +3247,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")
@@ -3687,6 +3728,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;
@@ -3703,7 +3746,6 @@ void Configure::generateConfigfiles()
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";
@@ -3853,13 +3895,19 @@ void Configure::displayConfig()
sout << "Link Time Code Generation..." << dictionary[ "LTCG" ] << 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;
@@ -3893,6 +3941,7 @@ 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;
@@ -4014,14 +4063,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;
@@ -4319,10 +4360,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
diff --git a/tools/configure/configureapp.h b/tools/configure/configureapp.h
index 78cc118a9d..5361cc2b1d 100644
--- a/tools/configure/configureapp.h
+++ b/tools/configure/configureapp.h
@@ -92,6 +92,7 @@ public:
private:
bool checkAngleAvailability(QString *errorMessage = 0) const;
+ QString checkAvx512Availability();
int verbose;
diff --git a/tools/configure/environment.cpp b/tools/configure/environment.cpp
index 11064a757d..af4c5e2247 100644
--- a/tools/configure/environment.cpp
+++ b/tools/configure/environment.cpp
@@ -68,12 +68,6 @@ struct CompilerInfo{
{CC_BORLAND, "Borland C++", 0, "bcc32.exe"},
{CC_MINGW, "MinGW (Minimalist GNU for Windows)", 0, "g++.exe"},
{CC_INTEL, "Intel(R) C++ Compiler for 32-bit applications", 0, "icl.exe"}, // xilink.exe, xilink5.exe, xilink6.exe, xilib.exe
- {CC_MSVC2005, "Microsoft (R) Visual Studio 2005 C/C++ Compiler (8.0)", "Software\\Microsoft\\VisualStudio\\SxS\\VC7\\8.0", "cl.exe"}, // link.exe, lib.exe
- {CC_MSVC2005, "Microsoft (R) Visual Studio 2005 C/C++ Compiler (8.0)", "Software\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VC7\\8.0", "cl.exe"}, // link.exe, lib.exe
- {CC_MSVC2008, "Microsoft (R) Visual Studio 2008 C/C++ Compiler (9.0)", "Software\\Microsoft\\VisualStudio\\SxS\\VC7\\9.0", "cl.exe"}, // link.exe, lib.exe
- {CC_MSVC2008, "Microsoft (R) Visual Studio 2008 C/C++ Compiler (9.0)", "Software\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VC7\\9.0", "cl.exe"}, // link.exe, lib.exe
- {CC_MSVC2010, "Microsoft (R) Visual Studio 2010 C/C++ Compiler (10.0)", "Software\\Microsoft\\VisualStudio\\SxS\\VC7\\10.0", "cl.exe"}, // link.exe, lib.exe
- {CC_MSVC2010, "Microsoft (R) Visual Studio 2010 C/C++ Compiler (10.0)", "Software\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VC7\\10.0", "cl.exe"}, // link.exe, lib.exe
{CC_MSVC2012, "Microsoft (R) Visual Studio 2012 C/C++ Compiler (11.0)", "Software\\Microsoft\\VisualStudio\\SxS\\VC7\\11.0", "cl.exe"}, // link.exe, lib.exe
{CC_MSVC2012, "Microsoft (R) Visual Studio 2012 C/C++ Compiler (11.0)", "Software\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VC7\\11.0", "cl.exe"}, // link.exe, lib.exe
{CC_MSVC2013, "Microsoft (R) Visual Studio 2013 C/C++ Compiler (12.0)", "Software\\Microsoft\\VisualStudio\\SxS\\VC7\\12.0", "cl.exe"}, // link.exe, lib.exe
@@ -115,15 +109,6 @@ QString Environment::detectQMakeSpec()
case CC_MSVC2012:
spec = "win32-msvc2012";
break;
- case CC_MSVC2010:
- spec = "win32-msvc2010";
- break;
- case CC_MSVC2008:
- spec = "win32-msvc2008";
- break;
- case CC_MSVC2005:
- spec = "win32-msvc2005";
- break;
case CC_INTEL:
spec = "win32-icc";
break;
@@ -148,12 +133,6 @@ Compiler Environment::compilerFromQMakeSpec(const QString &qmakeSpec)
return CC_MSVC2013;
if (qmakeSpec == QLatin1String("win32-msvc2012"))
return CC_MSVC2012;
- if (qmakeSpec == QLatin1String("win32-msvc2010"))
- return CC_MSVC2010;
- if (qmakeSpec == QLatin1String("win32-msvc2008"))
- return CC_MSVC2008;
- if (qmakeSpec == QLatin1String("win32-msvc2005"))
- return CC_MSVC2005;
if (qmakeSpec == QLatin1String("win32-icc"))
return CC_INTEL;
if (qmakeSpec == QLatin1String("win32-g++"))