summaryrefslogtreecommitdiffstats
path: root/tools/configure
diff options
context:
space:
mode:
Diffstat (limited to 'tools/configure')
-rw-r--r--tools/configure/Makefile.mingw1
-rw-r--r--tools/configure/Makefile.win321
-rw-r--r--tools/configure/configure.pro1
-rw-r--r--tools/configure/configureapp.cpp38
4 files changed, 36 insertions, 5 deletions
diff --git a/tools/configure/Makefile.mingw b/tools/configure/Makefile.mingw
index 1994c9a52b..11bfbe562a 100644
--- a/tools/configure/Makefile.mingw
+++ b/tools/configure/Makefile.mingw
@@ -60,6 +60,7 @@ OBJECTS = \
qmap.o \
qregexp.o \
qstring.o \
+ qstring_compat.o \
qstringlist.o \
qvsnprintf.o \
qvariant.o \
diff --git a/tools/configure/Makefile.win32 b/tools/configure/Makefile.win32
index 6b922e6693..ff38ddcc76 100644
--- a/tools/configure/Makefile.win32
+++ b/tools/configure/Makefile.win32
@@ -58,6 +58,7 @@ OBJECTS = \
qmap.obj \
qregexp.obj \
qstring.obj \
+ qstring_compat.obj \
qstringlist.obj \
qvsnprintf.obj \
qvariant.obj \
diff --git a/tools/configure/configure.pro b/tools/configure/configure.pro
index 2163e37a58..215a137adf 100644
--- a/tools/configure/configure.pro
+++ b/tools/configure/configure.pro
@@ -119,6 +119,7 @@ SOURCES = main.cpp configureapp.cpp environment.cpp tools.cpp \
$$QT_SOURCE_TREE/src/corelib/tools/qmap.cpp \
$$QT_SOURCE_TREE/src/corelib/tools/qregexp.cpp \
$$QT_SOURCE_TREE/src/corelib/tools/qstring.cpp \
+ $$QT_SOURCE_TREE/src/corelib/tools/qstring_compat.cpp \
$$QT_SOURCE_TREE/src/corelib/tools/qstringlist.cpp \
$$QT_SOURCE_TREE/src/corelib/tools/qvsnprintf.cpp \
$$QT_SOURCE_TREE/src/corelib/kernel/qvariant.cpp \
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 5ab413a971..e1295c6370 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -194,6 +194,7 @@ Configure::Configure(int& argc, char** argv)
dictionary[ "QT_CUPS" ] = "auto";
dictionary[ "CFG_GCC_SYSROOT" ] = "yes";
dictionary[ "SLOG2" ] = "no";
+ dictionary[ "QNX_IMF" ] = "no";
dictionary[ "PPS" ] = "no";
dictionary[ "SYSTEM_PROXIES" ] = "no";
dictionary[ "WERROR" ] = "auto";
@@ -880,6 +881,10 @@ void Configure::parseCmdLine()
dictionary[ "SLOG2" ] = "no";
} else if (configCmdLine.at(i) == "-slog2") {
dictionary[ "SLOG2" ] = "yes";
+ } else if (configCmdLine.at(i) == "-no-imf") {
+ dictionary[ "QNX_IMF" ] = "no";
+ } else if (configCmdLine.at(i) == "-imf") {
+ dictionary[ "QNX_IMF" ] = "yes";
} else if (configCmdLine.at(i) == "-no-pps") {
dictionary[ "PPS" ] = "no";
} else if (configCmdLine.at(i) == "-pps") {
@@ -1596,17 +1601,17 @@ void Configure::applySpecSpecifics()
dictionary[ "LIBPNG" ] = "qt";
dictionary[ "FREETYPE" ] = "yes";
dictionary[ "ACCESSIBILITY" ] = "no";
- dictionary[ "OPENGL" ] = "no";
- dictionary[ "OPENGL_ES_2" ] = "no";
+ dictionary[ "OPENGL" ] = "yes";
+ dictionary[ "OPENGL_ES_2" ] = "yes";
dictionary[ "OPENVG" ] = "no";
- dictionary[ "OPENSSL" ] = "auto";
+ dictionary[ "OPENSSL" ] = "no";
dictionary[ "DBUS" ] = "no";
dictionary[ "ZLIB" ] = "qt";
dictionary[ "PCRE" ] = "qt";
dictionary[ "ICU" ] = "qt";
dictionary[ "CE_CRT" ] = "yes";
dictionary[ "LARGE_FILE" ] = "no";
- dictionary[ "ANGLE" ] = "no";
+ dictionary[ "ANGLE" ] = "d3d11";
if (dictionary.value("XQMAKESPEC").startsWith("winphone"))
dictionary[ "SQL_SQLITE" ] = "no";
} else if (dictionary.value("XQMAKESPEC").startsWith("wince")) {
@@ -1653,6 +1658,7 @@ void Configure::applySpecSpecifics()
} else if ((platform() == QNX) || (platform() == BLACKBERRY)) {
dictionary["STACK_PROTECTOR_STRONG"] = "auto";
dictionary["SLOG2"] = "auto";
+ dictionary["QNX_IMF"] = "auto";
dictionary["PPS"] = "auto";
dictionary["QT_XKBCOMMON"] = "no";
dictionary[ "ANGLE" ] = "no";
@@ -1870,7 +1876,8 @@ bool Configure::displayHelp()
if ((platform() == QNX) || (platform() == BLACKBERRY)) {
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.");
+ desc("QNX_IMF", "no", "-no-imf", "Do not compile with imf support.");
desc("PPS", "yes", "-pps", "Compile with PPS support.");
desc("PPS", "no", "-no-pps", "Do not compile with PPS support.");
}
@@ -2212,6 +2219,8 @@ bool Configure::checkAvailability(const QString &part)
available = (platform() == QNX || platform() == BLACKBERRY) && 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");
} else if (part == "NEON") {
@@ -2359,6 +2368,10 @@ void Configure::autoDetection()
dictionary["SLOG2"] = checkAvailability("SLOG2") ? "yes" : "no";
}
+ if ((platform() == QNX || platform() == BLACKBERRY) && dictionary["QNX_IMF"] == "auto") {
+ dictionary["QNX_IMF"] = checkAvailability("QNX_IMF") ? "yes" : "no";
+ }
+
if (dictionary["PPS"] == "auto") {
dictionary["PPS"] = checkAvailability("PPS") ? "yes" : "no";
}
@@ -2988,6 +3001,10 @@ void Configure::detectArch()
.arg(QDir::toNativeSeparators(buildPath + "/bin/qmake.exe"),
QDir::toNativeSeparators(qmakespec),
QDir::toNativeSeparators(sourcePath + "/config.tests/arch/arch.pro"));
+
+ if (qmakespec.startsWith("winrt") || qmakespec.startsWith("winphone"))
+ command.append(" QMAKE_LFLAGS+=/ENTRY:main");
+
int returnValue = 0;
Environment::execute(command, &returnValue);
if (returnValue != 0) {
@@ -3088,6 +3105,13 @@ bool Configure::tryCompileProject(const QString &projectPath, const QString &ext
.arg(QDir::toNativeSeparators(buildPath + "/bin/qmake.exe"),
QDir::toNativeSeparators(sourcePath + "/config.tests/" + projectPath),
extraOptions);
+
+ if (dictionary.contains("XQMAKESPEC")) {
+ const QString qmakespec = dictionary["XQMAKESPEC"];
+ if (qmakespec.startsWith("winrt") || qmakespec.startsWith("winphone"))
+ command.append(" QMAKE_LFLAGS+=/ENTRY:main");
+ }
+
int code = 0;
QString output = Environment::execute(command, &code);
//cout << output << endl;
@@ -3189,6 +3213,9 @@ void Configure::generateQConfigPri()
if (dictionary[ "SLOG2" ] == "yes")
configStream << " slog2";
+ if (dictionary[ "QNX_IMF" ] == "yes")
+ configStream << " qqnx_imf";
+
if (dictionary[ "PPS" ] == "yes")
configStream << " qqnx_pps";
@@ -3560,6 +3587,7 @@ void Configure::displayConfig()
sout << " ICU support............." << dictionary[ "ICU" ] << endl;
if ((platform() == QNX) || (platform() == BLACKBERRY)) {
sout << " SLOG2 support..........." << dictionary[ "SLOG2" ] << endl;
+ sout << " IMF support............." << dictionary[ "QNX_IMF" ] << endl;
sout << " PPS support............." << dictionary[ "PPS" ] << endl;
}
sout << " ANGLE..................." << dictionary[ "ANGLE" ] << endl;