summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorGirish Ramakrishnan <girish.1.ramakrishnan@nokia.com>2012-05-17 22:23:50 -0700
committerQt by Nokia <qt-info@nokia.com>2012-05-19 01:45:04 +0200
commit76e073375e8f6160b6dd9eaae2f2ba1fcce63ea9 (patch)
tree3c5770cba3d386ebdcf80d6e99cd1f4a686d380a /tools
parent281771ee201e591d4f40a161b93c71914b1b38f2 (diff)
Save configuration feedback into config.summary
commit d60d98450ada232fc3e8d0c5762a2b7a90beb921 adds the support for unix configure. This commit adds the same for Windows configure. Change-Id: Ibcc604154fd7d0d9c6112ae5459d9bb842daf180 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/configure/configureapp.cpp216
1 files changed, 115 insertions, 101 deletions
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index ac0d15493c..66b0fec899 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -57,6 +57,8 @@
#include <qhash.h>
#include <iostream>
+#include <string>
+#include <fstream>
#include <windows.h>
#include <conio.h>
@@ -2964,161 +2966,165 @@ void Configure::generateConfigfiles()
#if !defined(EVAL)
void Configure::displayConfig()
{
+ fstream sout;
+ sout.open(QString(buildPath + "/config.summary").toLocal8Bit().constData(),
+ ios::in | ios::out | ios::trunc);
+
// Give some feedback
- cout << "Environment:" << endl;
+ sout << "Environment:" << endl;
QString env = QString::fromLocal8Bit(getenv("INCLUDE")).replace(QRegExp("[;,]"), "\r\n ");
if (env.isEmpty())
env = "Unset";
- cout << " INCLUDE=\r\n " << env << endl;
+ sout << " INCLUDE=\r\n " << env << endl;
env = QString::fromLocal8Bit(getenv("LIB")).replace(QRegExp("[;,]"), "\r\n ");
if (env.isEmpty())
env = "Unset";
- cout << " LIB=\r\n " << env << endl;
+ sout << " LIB=\r\n " << env << endl;
env = QString::fromLocal8Bit(getenv("PATH")).replace(QRegExp("[;,]"), "\r\n ");
if (env.isEmpty())
env = "Unset";
- cout << " PATH=\r\n " << env << endl;
+ sout << " PATH=\r\n " << env << endl;
if (dictionary["EDITION"] == "OpenSource") {
- cout << "You are licensed to use this software under the terms of the GNU GPL version 3.";
- cout << "You are licensed to use this software under the terms of the Lesser GNU LGPL version 2.1." << endl;
- cout << "See " << dictionary["LICENSE FILE"] << "3" << endl << endl
+ sout << "You are licensed to use this software under the terms of the GNU GPL version 3.";
+ sout << "You are licensed to use this software under the terms of the Lesser GNU LGPL version 2.1." << endl;
+ sout << "See " << dictionary["LICENSE FILE"] << "3" << endl << endl
<< " or " << dictionary["LICENSE FILE"] << "L" << endl << endl;
} else {
QString l1 = licenseInfo[ "LICENSEE" ];
QString l2 = licenseInfo[ "LICENSEID" ];
QString l3 = dictionary["EDITION"] + ' ' + "Edition";
QString l4 = licenseInfo[ "EXPIRYDATE" ];
- cout << "Licensee...................." << (l1.isNull() ? "" : l1) << endl;
- cout << "License ID.................." << (l2.isNull() ? "" : l2) << endl;
- cout << "Product license............." << (l3.isNull() ? "" : l3) << endl;
- cout << "Expiry Date................." << (l4.isNull() ? "" : l4) << endl << endl;
+ sout << "Licensee...................." << (l1.isNull() ? "" : l1) << endl;
+ sout << "License ID.................." << (l2.isNull() ? "" : l2) << endl;
+ sout << "Product license............." << (l3.isNull() ? "" : l3) << endl;
+ sout << "Expiry Date................." << (l4.isNull() ? "" : l4) << endl << endl;
}
- cout << "Configuration:" << endl;
- cout << " " << qmakeConfig.join("\r\n ") << endl;
- cout << "Qt Configuration:" << endl;
- cout << " " << qtConfig.join("\r\n ") << endl;
- cout << endl;
+ sout << "Configuration:" << endl;
+ sout << " " << qmakeConfig.join("\r\n ") << endl;
+ sout << "Qt Configuration:" << endl;
+ sout << " " << qtConfig.join("\r\n ") << endl;
+ sout << endl;
if (dictionary.contains("XQMAKESPEC"))
- cout << "QMAKESPEC..................." << dictionary[ "XQMAKESPEC" ] << " (" << dictionary["QMAKESPEC_FROM"] << ")" << endl;
+ sout << "QMAKESPEC..................." << dictionary[ "XQMAKESPEC" ] << " (" << dictionary["QMAKESPEC_FROM"] << ")" << endl;
else
- cout << "QMAKESPEC..................." << dictionary[ "QMAKESPEC" ] << " (" << dictionary["QMAKESPEC_FROM"] << ")" << endl;
- cout << "Architecture................" << dictionary["QT_ARCH"] << endl;
- cout << "Host Architecture..........." << dictionary["QT_HOST_ARCH"] << endl;
- cout << "Maketool...................." << dictionary[ "MAKE" ] << endl;
- cout << "Debug symbols..............." << (dictionary[ "BUILD" ] == "debug" ? "yes" : "no") << endl;
- cout << "Link Time Code Generation..." << dictionary[ "LTCG" ] << endl;
- cout << "Accessibility support......." << dictionary[ "ACCESSIBILITY" ] << endl;
- cout << "RTTI support................" << dictionary[ "RTTI" ] << endl;
- cout << "SSE2 support................" << dictionary[ "SSE2" ] << endl;
- cout << "IWMMXT support.............." << dictionary[ "IWMMXT" ] << endl;
- cout << "OpenGL support.............." << dictionary[ "OPENGL" ] << endl;
- cout << "OpenVG support.............." << dictionary[ "OPENVG" ] << endl;
- cout << "OpenSSL support............." << dictionary[ "OPENSSL" ] << endl;
- cout << "QtDBus support.............." << dictionary[ "DBUS" ] << endl;
- cout << "QtWidgets module support...." << dictionary[ "WIDGETS" ] << endl;
- cout << "QML debugging..............." << dictionary[ "QML_DEBUG" ] << endl;
- cout << "DirectWrite support........." << dictionary[ "DIRECTWRITE" ] << endl << endl;
-
- cout << "Third Party Libraries:" << endl;
- cout << " ZLIB support............" << dictionary[ "ZLIB" ] << endl;
- cout << " GIF support............." << dictionary[ "GIF" ] << endl;
- cout << " JPEG support............" << dictionary[ "JPEG" ] << endl;
- cout << " PNG support............." << dictionary[ "PNG" ] << endl;
- cout << " FreeType support........" << dictionary[ "FREETYPE" ] << endl << endl;
- cout << " PCRE support............" << dictionary[ "PCRE" ] << endl;
- cout << " ICU support............." << dictionary[ "ICU" ] << endl;
-
- cout << "Styles:" << endl;
- cout << " Windows................." << dictionary[ "STYLE_WINDOWS" ] << endl;
- cout << " Windows XP.............." << dictionary[ "STYLE_WINDOWSXP" ] << endl;
- cout << " Windows Vista..........." << dictionary[ "STYLE_WINDOWSVISTA" ] << endl;
- cout << " Plastique..............." << dictionary[ "STYLE_PLASTIQUE" ] << endl;
- cout << " Cleanlooks.............." << dictionary[ "STYLE_CLEANLOOKS" ] << endl;
- cout << " Motif..................." << dictionary[ "STYLE_MOTIF" ] << endl;
- cout << " CDE....................." << dictionary[ "STYLE_CDE" ] << endl;
- cout << " Windows CE.............." << dictionary[ "STYLE_WINDOWSCE" ] << endl;
- cout << " Windows Mobile.........." << dictionary[ "STYLE_WINDOWSMOBILE" ] << endl << endl;
-
- cout << "Sql Drivers:" << endl;
- cout << " ODBC...................." << dictionary[ "SQL_ODBC" ] << endl;
- cout << " MySQL..................." << dictionary[ "SQL_MYSQL" ] << endl;
- cout << " OCI....................." << dictionary[ "SQL_OCI" ] << endl;
- cout << " PostgreSQL.............." << dictionary[ "SQL_PSQL" ] << endl;
- cout << " TDS....................." << dictionary[ "SQL_TDS" ] << endl;
- cout << " DB2....................." << dictionary[ "SQL_DB2" ] << endl;
- cout << " SQLite.................." << dictionary[ "SQL_SQLITE" ] << " (" << dictionary[ "SQL_SQLITE_LIB" ] << ")" << endl;
- cout << " SQLite2................." << dictionary[ "SQL_SQLITE2" ] << endl;
- cout << " InterBase..............." << dictionary[ "SQL_IBASE" ] << endl << endl;
-
- cout << "Sources are in.............." << dictionary[ "QT_SOURCE_TREE" ] << endl;
- cout << "Build is done in............" << dictionary[ "QT_BUILD_TREE" ] << endl;
- cout << "Install prefix.............." << dictionary[ "QT_INSTALL_PREFIX" ] << endl;
- cout << "Headers installed to........" << dictionary[ "QT_INSTALL_HEADERS" ] << endl;
- cout << "Libraries installed to......" << dictionary[ "QT_INSTALL_LIBS" ] << endl;
- cout << "Plugins installed to........" << dictionary[ "QT_INSTALL_PLUGINS" ] << endl;
- cout << "Imports installed to........" << dictionary[ "QT_INSTALL_IMPORTS" ] << endl;
- cout << "Binaries installed to......." << dictionary[ "QT_INSTALL_BINS" ] << endl;
- cout << "Docs installed to..........." << dictionary[ "QT_INSTALL_DOCS" ] << endl;
- cout << "Data installed to..........." << dictionary[ "QT_INSTALL_DATA" ] << endl;
- cout << "Translations installed to..." << dictionary[ "QT_INSTALL_TRANSLATIONS" ] << endl;
- cout << "Examples installed to......." << dictionary[ "QT_INSTALL_EXAMPLES" ] << endl;
- cout << "Tests installed to.........." << dictionary[ "QT_INSTALL_TESTS" ] << endl;
+ sout << "QMAKESPEC..................." << dictionary[ "QMAKESPEC" ] << " (" << dictionary["QMAKESPEC_FROM"] << ")" << endl;
+ sout << "Architecture................" << dictionary["QT_ARCH"] << endl;
+ sout << "Host Architecture..........." << dictionary["QT_HOST_ARCH"] << endl;
+ sout << "Maketool...................." << dictionary[ "MAKE" ] << endl;
+ sout << "Debug symbols..............." << (dictionary[ "BUILD" ] == "debug" ? "yes" : "no") << endl;
+ 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 << "IWMMXT support.............." << dictionary[ "IWMMXT" ] << endl;
+ sout << "OpenGL support.............." << dictionary[ "OPENGL" ] << endl;
+ sout << "OpenVG support.............." << dictionary[ "OPENVG" ] << endl;
+ sout << "OpenSSL support............." << dictionary[ "OPENSSL" ] << endl;
+ sout << "QtDBus support.............." << dictionary[ "DBUS" ] << endl;
+ sout << "QtWidgets module support...." << dictionary[ "WIDGETS" ] << endl;
+ sout << "QML debugging..............." << dictionary[ "QML_DEBUG" ] << endl;
+ sout << "DirectWrite support........." << dictionary[ "DIRECTWRITE" ] << endl << endl;
+
+ sout << "Third Party Libraries:" << endl;
+ sout << " ZLIB support............" << dictionary[ "ZLIB" ] << endl;
+ sout << " GIF support............." << dictionary[ "GIF" ] << endl;
+ sout << " JPEG support............" << dictionary[ "JPEG" ] << endl;
+ sout << " PNG support............." << dictionary[ "PNG" ] << endl;
+ sout << " FreeType support........" << dictionary[ "FREETYPE" ] << endl << endl;
+ sout << " PCRE support............" << dictionary[ "PCRE" ] << endl;
+ sout << " ICU support............." << dictionary[ "ICU" ] << endl;
+
+ sout << "Styles:" << endl;
+ sout << " Windows................." << dictionary[ "STYLE_WINDOWS" ] << endl;
+ sout << " Windows XP.............." << dictionary[ "STYLE_WINDOWSXP" ] << endl;
+ sout << " Windows Vista..........." << dictionary[ "STYLE_WINDOWSVISTA" ] << endl;
+ sout << " Plastique..............." << dictionary[ "STYLE_PLASTIQUE" ] << endl;
+ sout << " Cleanlooks.............." << dictionary[ "STYLE_CLEANLOOKS" ] << endl;
+ sout << " Motif..................." << dictionary[ "STYLE_MOTIF" ] << endl;
+ sout << " CDE....................." << dictionary[ "STYLE_CDE" ] << endl;
+ sout << " Windows CE.............." << dictionary[ "STYLE_WINDOWSCE" ] << endl;
+ sout << " Windows Mobile.........." << dictionary[ "STYLE_WINDOWSMOBILE" ] << endl << endl;
+
+ sout << "Sql Drivers:" << endl;
+ sout << " ODBC...................." << dictionary[ "SQL_ODBC" ] << endl;
+ sout << " MySQL..................." << dictionary[ "SQL_MYSQL" ] << endl;
+ sout << " OCI....................." << dictionary[ "SQL_OCI" ] << endl;
+ sout << " PostgreSQL.............." << dictionary[ "SQL_PSQL" ] << endl;
+ sout << " TDS....................." << dictionary[ "SQL_TDS" ] << endl;
+ sout << " DB2....................." << dictionary[ "SQL_DB2" ] << endl;
+ sout << " SQLite.................." << dictionary[ "SQL_SQLITE" ] << " (" << dictionary[ "SQL_SQLITE_LIB" ] << ")" << endl;
+ sout << " SQLite2................." << dictionary[ "SQL_SQLITE2" ] << endl;
+ sout << " InterBase..............." << dictionary[ "SQL_IBASE" ] << endl << endl;
+
+ sout << "Sources are in.............." << dictionary[ "QT_SOURCE_TREE" ] << endl;
+ sout << "Build is done in............" << dictionary[ "QT_BUILD_TREE" ] << endl;
+ sout << "Install prefix.............." << dictionary[ "QT_INSTALL_PREFIX" ] << endl;
+ sout << "Headers installed to........" << dictionary[ "QT_INSTALL_HEADERS" ] << endl;
+ sout << "Libraries installed to......" << dictionary[ "QT_INSTALL_LIBS" ] << endl;
+ sout << "Plugins installed to........" << dictionary[ "QT_INSTALL_PLUGINS" ] << endl;
+ sout << "Imports installed to........" << dictionary[ "QT_INSTALL_IMPORTS" ] << endl;
+ sout << "Binaries installed to......." << dictionary[ "QT_INSTALL_BINS" ] << endl;
+ sout << "Docs installed to..........." << dictionary[ "QT_INSTALL_DOCS" ] << endl;
+ sout << "Data installed to..........." << dictionary[ "QT_INSTALL_DATA" ] << endl;
+ sout << "Translations installed to..." << dictionary[ "QT_INSTALL_TRANSLATIONS" ] << endl;
+ sout << "Examples installed to......." << dictionary[ "QT_INSTALL_EXAMPLES" ] << endl;
+ sout << "Tests installed to.........." << dictionary[ "QT_INSTALL_TESTS" ] << endl;
if (dictionary.contains("XQMAKESPEC") && dictionary["XQMAKESPEC"].startsWith(QLatin1String("wince"))) {
- cout << "Using c runtime detection..." << dictionary[ "CE_CRT" ] << endl;
- cout << "Cetest support.............." << dictionary[ "CETEST" ] << endl;
- cout << "Signature..................." << dictionary[ "CE_SIGNATURE"] << endl << endl;
+ sout << "Using c runtime detection..." << dictionary[ "CE_CRT" ] << endl;
+ sout << "Cetest support.............." << dictionary[ "CETEST" ] << endl;
+ sout << "Signature..................." << dictionary[ "CE_SIGNATURE"] << endl << endl;
}
if (checkAvailability("INCREDIBUILD_XGE"))
- cout << "Using IncrediBuild XGE......" << dictionary["INCREDIBUILD_XGE"] << endl;
+ sout << "Using IncrediBuild XGE......" << dictionary["INCREDIBUILD_XGE"] << endl;
if (!qmakeDefines.isEmpty()) {
- cout << "Defines.....................";
+ sout << "Defines.....................";
for (QStringList::Iterator defs = qmakeDefines.begin(); defs != qmakeDefines.end(); ++defs)
- cout << (*defs) << " ";
- cout << endl;
+ sout << (*defs) << " ";
+ sout << endl;
}
if (!qmakeIncludes.isEmpty()) {
- cout << "Include paths...............";
+ sout << "Include paths...............";
for (QStringList::Iterator incs = qmakeIncludes.begin(); incs != qmakeIncludes.end(); ++incs)
- cout << (*incs) << " ";
- cout << endl;
+ sout << (*incs) << " ";
+ sout << endl;
}
if (!qmakeLibs.isEmpty()) {
- cout << "Additional libraries........";
+ sout << "Additional libraries........";
for (QStringList::Iterator libs = qmakeLibs.begin(); libs != qmakeLibs.end(); ++libs)
- cout << (*libs) << " ";
- cout << endl;
+ sout << (*libs) << " ";
+ sout << endl;
}
if (dictionary[ "QMAKE_INTERNAL" ] == "yes") {
- cout << "Using internal configuration." << endl;
+ sout << "Using internal configuration." << endl;
}
if (dictionary[ "SHARED" ] == "no") {
- cout << "WARNING: Using static linking will disable the use of plugins." << endl;
- cout << " Make sure you compile ALL needed modules into the library." << endl;
+ sout << "WARNING: Using static linking will disable the use of plugins." << endl;
+ sout << " Make sure you compile ALL needed modules into the library." << endl;
}
if (dictionary[ "OPENSSL" ] == "linked" && opensslLibs.isEmpty()) {
- cout << "NOTE: When linking against OpenSSL, you can override the default" << endl;
- cout << "library names through OPENSSL_LIBS." << endl;
- cout << "For example:" << endl;
- cout << " configure -openssl-linked OPENSSL_LIBS=\"-lssleay32 -llibeay32\"" << endl;
+ sout << "NOTE: When linking against OpenSSL, you can override the default" << endl;
+ sout << "library names through OPENSSL_LIBS." << endl;
+ sout << "For example:" << endl;
+ sout << " configure -openssl-linked OPENSSL_LIBS=\"-lssleay32 -llibeay32\"" << endl;
}
if (dictionary[ "ZLIB_FORCED" ] == "yes") {
QString which_zlib = "supplied";
if (dictionary[ "ZLIB" ] == "system")
which_zlib = "system";
- cout << "NOTE: The -no-zlib option was supplied but is no longer supported." << endl
+ sout << "NOTE: The -no-zlib option was supplied but is no longer supported." << endl
<< endl
<< "Qt now requires zlib support in all builds, so the -no-zlib" << endl
<< "option was ignored. Qt will be built using the " << which_zlib
<< "zlib" << endl;
}
if (dictionary["OBSOLETE_ARCH_ARG"] == "yes") {
- cout << endl
+ sout << endl
<< "NOTE: The -arch option is obsolete." << endl
<< endl
<< "Qt now detects the target and host architectures based on compiler" << endl
@@ -3127,6 +3133,14 @@ void Configure::displayConfig()
<< "will be the same unless you are cross-compiling)." << endl
<< endl;
}
+
+ // display config.summary
+ sout.seekg(0, ios::beg);
+ while (sout) {
+ string str;
+ getline(sout, str);
+ cout << str << endl;
+ }
}
#endif