diff options
-rwxr-xr-x | configure | 59 | ||||
-rw-r--r-- | dist/changes-5.0.0 | 150 | ||||
-rw-r--r-- | mkspecs/features/qt_module.prf | 7 | ||||
-rw-r--r-- | mkspecs/features/qt_module_fwdpri.prf | 1 | ||||
-rw-r--r-- | mkspecs/features/win32/thread.prf | 22 | ||||
-rw-r--r-- | mkspecs/features/win32/thread_off.prf | 2 | ||||
-rw-r--r-- | src/plugins/platforms/xcb/qxcbscreen.cpp | 44 | ||||
-rw-r--r-- | src/plugins/platforms/xcb/qxcbscreen.h | 2 | ||||
-rw-r--r-- | tools/configure/configureapp.cpp | 98 | ||||
-rw-r--r-- | tools/configure/configureapp.h | 1 |
10 files changed, 169 insertions, 217 deletions
@@ -861,7 +861,6 @@ PLATFORM=$QMAKESPEC QT_CROSS_COMPILE=no OPT_CONFIRM_LICENSE=no OPT_SHADOW=maybe -OPT_FAST=auto OPT_VERBOSE=no OPT_HELP= CFG_SILENT=no @@ -2015,13 +2014,6 @@ while [ "$#" -gt 0 ]; do UNKNOWN_OPT=yes fi ;; - fast) - if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then - OPT_FAST="$VAL" - else - UNKNOWN_OPT=yes - fi - ;; rpath) if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then CFG_RPATH="$VAL" @@ -2305,14 +2297,6 @@ if [ ! -d "${outpath}/lib/fonts" ]; then fi fi -if [ "$OPT_FAST" = "auto" ]; then - if [ '!' -z "$AWK" ] && [ "$CFG_DEV" = "yes" ]; then - OPT_FAST=yes - else - OPT_FAST=no - fi -fi - # find a make command if [ -z "$MAKE" ]; then MAKE= @@ -3099,12 +3083,6 @@ Configure options: -fully-process ..... Generate Makefiles for the entire Qt tree. -dont-process ...... Do not generate any Makefiles. - * -no-fast ........... Configure Qt normally by generating Makefiles for all - project files. - -fast .............. Configure Qt quickly by generating Makefiles only for - library and subdirectory targets. All other Makefiles - are created as wrappers, which will in turn run qmake. - -no-largefile ...... Disables large file support. + -largefile ......... Enables Qt to access files larger than 4 GB. @@ -6375,43 +6353,6 @@ if [ "$CFG_PROCESS" != "no" ]; then else "$outpath/bin/qmake" "$relpath" fi - - if [ "$OPT_FAST" = "yes" ]; then - PART_ROOTS= - for part in $CFG_BUILD_PARTS; do - case "$part" in - examples|tests) PART_ROOTS="$PART_ROOTS $part" ;; - esac - done - if [ "x$PART_ROOTS" != "x" ]; then - echo - echo "Creating stub makefiles. Please wait..." - QMAKE="$outpath/bin/qmake" - [ "$CFG_DEBUG_RELEASE" = "no" ] && first_tgt="first_target: first" || first_tgt= - (cd "$relpath" && find $PART_ROOTS -name '*.pro') | grep -v /testdata/ | while read p; do - d=${p%/*} - test -f "$outpath/$d/Makefile" && continue - echo " for $relpath/$p" - - mkdir -p "$outpath/$d" || exit - cat > "$outpath/$d/Makefile" <<EOF || exit -# $outpath/$d/Makefile: generated by configure -# -# WARNING: This makefile will be replaced with a real makefile. -# All changes made to this file will be lost. - -QMAKE = "$QMAKE" - -$first_tgt -all clean install qmake first Makefile: FORCE - \$(QMAKE) $QMAKE_SWITCHES "$relpath/$p" - \$(MAKE) \$@ -FORCE: -EOF - done || exit - echo "Done" - fi - fi fi #------------------------------------------------------------------------------- diff --git a/dist/changes-5.0.0 b/dist/changes-5.0.0 index 8ce7ee4ee9..6d58c21133 100644 --- a/dist/changes-5.0.0 +++ b/dist/changes-5.0.0 @@ -11,6 +11,8 @@ information about a particular change. * Source incompatible changes * **************************************************************************** +- The Qt 3 support module and all related code was removed. + - QAtomicInt's and QAtomicPointer's non-atomic convenience methods (i.e., operator=, operator int / operator T*, operator!, operator==, operator!= and operator->) have been removed as they did implicit @@ -282,23 +284,6 @@ information about a particular change. - QIconEngineV2 was merged into QIconEngine You might need to adjust your code if it used a QIconEngine. -- qmake - * Projects which explicitly set an empty TARGET are considered broken now. - * The makespec and .qmake.cache do not see build pass specific variables any more. - * load()/include() with a target namespace and infile()/$$fromfile() now start with - an entirely pristine context. - * Configure's -sysroot and -hostprefix are now handled slightly differently. - The QT_INSTALL_... properties are now automatically prefixed with the sysroot; - the raw values are available as QT_INSTALL_.../raw and the sysroot as QT_SYSROOT. - The new QT_HOST_... properties can be used to refer to the Qt host tools. - * Several functions and built-in variables were modified to return normalized paths. - * The -(no-)exception flags in configure have been removed. Qt modules are now compiled - without exceptions by default, as they do not use them and can neither handle them - properly. Qt Core still has exceptions enabled to correctly throw bad_alloc exceptions - in our tool classes. - Whether code should be compiled with exception support enabled or disabled can be - controlled by a CONFIG += exceptions/exceptions_off setting in the .pro file. - - QTextCodecPlugin has been removed since it is no longer used. All text codecs are now built into QtCore. @@ -919,9 +904,66 @@ Qt for Windows CE - Build System - * Remove qttest_p4.prf file. From now on we should explicitly enable the - things from it which we want. Autotest .pro files should stop using - 'load(qttest_p4)' and start using 'CONFIG+=testcase' instead. + * Qt has been split into numerous repositories. Configure covers mostly only qtbase's options. + * Qt will now install CMake configuration files for all its libraries. + +- configure + + * The Mac OS X -dwarf2 configure argument has been removed. DWARF2 is always + used on Mac OS X now. + * The following options have been added: (-no)-force-asserts, (-no)-strip, (-no)-gui & + (-no)-widgets, -device & -device-option, -archdatadir, -libexecdir & -qmldir, + and numerous changes relating to specific Qt features and dependencies. + * Configure will no longer call "qmake -recursive" by default, as the subsequent + build invokes qmake as needed. Use -fully-process to restore the old behavior. + +- qmake + + * default_pre.prf is now evaluated per subproject & build pass, symmetrically + to default_post.prf. + * .qmake.conf files (.qmake.cache equivalent in source tree) are read now. + * Project-specific mkspecs/ and features/ directories are supported now. + QMAKEPATH and QMAKEFEATURES can be set in .qmake.{config,cache} to specifiy their + location, and qmake will find them in the project's top-level directory automatically. + * Mixing host and target subprojects is now supported. "default-host" makespec + was added; option(host_build) enables its use. + * QMAKE_MOC_OPTIONS variable is now available for passing additional parameters + to the moc. + * The CROSS_COMPILE variable and property can be used to parametrize the device + and mingw makespecs. + * QMAKE_RPATHLINKDIR (complementary to QMAKE_RPATHDIR) is now understood. + * The "aux" TEMPLATE was added. Does not work with vcproj and xcode output files. + * The properties QT_INSTALL_ARCHDATA, QT_INSTALL_LIBEXECS, QT_INSTALL_QML, + QMAKE_SPEC & QMAKE_XSPEC were added. QT_INSTALL_DEMOS is obsolete. + * The following functions have been added: $$sort_depends, $$resolve_depends, + $$enumerate_vars, $$reverse, $$val_escape, $$format_number, $$shadowed, + $$clean_path, $$system_path, $$shell_path, $$absolute_path, $$relative_path, + $$system_quote, $$shell_quote, cache, write_file, touch, mkpath & log. + defined can now query variables; $$cat and $$system support more splitting modes. + qtCompileTest (available from configure.prf) was added. + * Removed qttest_p4.prf. Use CONFIG+=testcase and other flags instead. + * QMAKE_SUBSTITUTES can now copy files verbatim. + * MSVC desktop builds now use -Zc:wchar_t. + * The following variables were added: QMAKESPEC, _QMAKE_CONF_ & _QMAKE_SUPER_CACHE_. + * QDBUSXML2CPP_{INTERFACES,ADAPTORS}_{HEADER,SOURCE}_FLAGS are now understood, + and DBUS_{INTERFACES,ADAPTORS} support file groups with individual flags now. + * QT_PRIVATE and PKGCONFIG_PRIVATE (analogous to LIBS_PRIVATE resp. PKGCONFIG) are now understood. + * INSTALLS entries now support copying with subdirectory (e.g., entry.base = $$dirname(PWD)). + * Defining QTPLUGIN in dynamically linked projects does not hurt any more. + * CONFIG+=import_plugins will now cause plugin imports for QTPLUGIN being auto-generated. + * Debug info generation can now be enabled also for release builds (CONFIG+=force_debug_info). + * The following CONFIG flags have been deprecated in favor of QT module entries: + qtestlib, qdbus, help, designer, uitools, qaxserver & qaxcontainer (the leading 'q' + was stripped from the affected modules). + * The IN_PWD alias for PWD was deprecated. + * QMAKE_{DIST,}CLEAN support normalized path separators now. + * CONFIG+=depend_includepath is on by default now. DEPENDPATH is unnecessary in most projects. + * Makespecs should be adjusted in the following ways: + * The QMAKE_INCDIR_QT, QMAKE_LIBDIR_QT, QMAKE_MOC, QMAKE_UIC, QMAKE_IDC, TEMPLATE & QT + variables should not be defined any more. Furthermore, QMAKE_LIBS_X11SM is obsolete. + * The qt, warn_on, release, & link_prl CONFIG flags should not be set any more. + * The QMAKE_PLATFORM & QMAKE_COMPILER variables should be defined now. + Several other variables should be defined by including files from mkspecs/common/. - Assistant @@ -932,6 +974,11 @@ Qt for Windows CE - Linguist + * The integration with Mac OS' document handling was improved + * lupdate can now treat other .ts files as sources + * lupdate's CODECFORTR is deprecated and will be removed soon. All source code + written with Qt is expected to use UTF-8 encoding. + - rcc @@ -944,20 +991,6 @@ Qt for Windows CE - uic -- uic3 - - -- qmake - -* QMAKE_MOC_OPTIONS variable is now available for passing additional parameters - to the moc. - - -- configure - - * The Mac OS X -dwarf2 configure argument has been removed. DWARF2 is always - used on Mac OS X now. - - qtconfig @@ -1006,6 +1039,10 @@ Qt for Windows CE in the URL by themselves. Now, it will return "%25", like QUrl::toEncoded(). +- QLibraryInfo + + * location() always returns paths with normalized separators now. + - QVariant * Definition of QVariant::UserType changed. Currently it is the same as @@ -1037,3 +1074,48 @@ Qt for Windows CE * The static function QMessageBox::question has changed the default argument for buttons. Before the default was to have an Ok button. That is changed to having a yes and a no button. + +- qmake & configure + + * The project file parser has been rewritten from scratch. Invalid syntax will be + rejected more aggressively, and interpretation may have changed in some corner cases. + * Projects which explicitly set an empty TARGET are considered broken now. + * The makespec and .qmake.cache do not see build pass specific variables any more. + * load()/include() with a target namespace and infile()/$$fromfile() now start with + an entirely pristine context. + * Configure's -sysroot and -hostprefix are now handled slightly differently. + The QT_INSTALL_... properties are now automatically prefixed with the sysroot; + the raw values are available as QT_INSTALL_.../raw and the sysroot as QT_SYSROOT. + The new QT_HOST_... properties can be used to refer to the Qt host tools. + -no-gcc-sysroot can be used for non-standard sysroot configurations. + * The QMAKE_MKSPECS property became unavailable at the command line. Query QT_HOST_DATA instead. + * The TEMPLATE_PREFIX variable is gone. Use contains(TEMPLATE, vc.*) instead. + * The "default" makespec symlink/directory is gone. Use qmake -query QMAKE_XSPEC instead. + * DEPENDPATH does not end up in VPATH any more. Some SOURCES may not be found any more. + * Several functions and built-in variables were modified to return normalized paths. + * The -(no-)exception flags in configure have been removed. Qt modules are now compiled + without exceptions by default, as they do not use them and can neither handle them + properly. Qt Core still has exceptions enabled to correctly throw bad_alloc exceptions + in our tool classes. + Whether code should be compiled with exception support enabled or disabled can be + controlled by a CONFIG += exceptions/exceptions_off setting in the .pro file. + * The -no/-stl configure options are gone. Qt always uses the STL now. + * The -no/-fast configure options are gone. + * The -prefix-install configure option is gone. Use -prefix, etc. instead. + * The -make option of the Windows configure was renamed to -make-tool. + -make now complements -no-make, like in the Unix version. + * The object_with_source CONFIG flag was removed. Use object_parallel_to_source instead. + * Support for universal binaries on Mac OS has been removed. + * The processor architecture handling changed significantly. This affects the -arch & -*-endian + configure options, the QT_ARCH qmake variable, and more. + * No "make_default" make targets will be generated any more. Use "make_first" instead. + * The "qmake" make targets are non-recursive now. Use "qmake_all" to recurse. + * load() with paths relative to the current project is not supported any more. + Use include() instead. + * Persistent qmake properties are not versioned any more. Also, the vendor changed to + "QtProject", so old settings are lost. + * Support for the Borland toolchain was removed. Numerous obsolete makespecs were culled. + * setcepaths.bat is gone. QMake-generated Makefiles are self-contained now. + * moc_dir, rcc_dir and some other tool variables are not defined in Qt's .pc files any more; + the generic host_bins is defined instead. + diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index 159733e02e..19cdc2a26a 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -51,6 +51,10 @@ MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules-inst/qt_lib_$${MODULE}.pri !build_pass { # Create a module .pri file + unix:!static: \ + module_rpath = "QT.$${MODULE}.rpath = $$[QT_INSTALL_LIBS/raw]" + else: \ + module_rpath = !isEmpty(QT_FOR_PRIVATE) { contains(QT_FOR_PRIVATE, .*-private$):error("QT_FOR_PRIVATE may not contain *-private.") module_privdep = "QT.$${MODULE}.private_depends = $$QT_FOR_PRIVATE" @@ -82,10 +86,9 @@ MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules-inst/qt_lib_$${MODULE}.pri "QT.$${MODULE}.bins = \$\$QT_MODULE_BIN_BASE" \ "QT.$${MODULE}.includes = $$MODULE_INCLUDES" \ "QT.$${MODULE}.private_includes = $$MODULE_PRIVATE_INCLUDES" \ - "QT.$${MODULE}.sources = $$val_escape(_PRO_FILE_PWD_)" \ "QT.$${MODULE}.libs = \$\$QT_MODULE_LIB_BASE" \ "QT.$${MODULE}.libexecs = \$\$QT_MODULE_LIBEXEC_BASE" \ - "QT.$${MODULE}.rpath = $$[QT_INSTALL_LIBS/raw]" \ + $$module_rpath \ "QT.$${MODULE}.plugins = \$\$QT_MODULE_PLUGIN_BASE" \ "QT.$${MODULE}.imports = \$\$QT_MODULE_IMPORT_BASE" \ "QT.$${MODULE}.qml = \$\$QT_MODULE_QML_BASE" \ diff --git a/mkspecs/features/qt_module_fwdpri.prf b/mkspecs/features/qt_module_fwdpri.prf index ce0b09d616..58b016803e 100644 --- a/mkspecs/features/qt_module_fwdpri.prf +++ b/mkspecs/features/qt_module_fwdpri.prf @@ -59,7 +59,6 @@ # Create a forwarding module .pri file MODULE_FWD_PRI_CONT = \ - "QT_MODULE_BASE = $$MODULE_BASE_DIR" \ "QT_MODULE_BIN_BASE = $$MODULE_BASE_OUTDIR/bin" \ "QT_MODULE_INCLUDE_BASE = $$MODULE_BASE_OUTDIR/include" \ "QT_MODULE_IMPORT_BASE = $$MODULE_BASE_OUTDIR/imports" \ diff --git a/mkspecs/features/win32/thread.prf b/mkspecs/features/win32/thread.prf deleted file mode 100644 index fc832a0990..0000000000 --- a/mkspecs/features/win32/thread.prf +++ /dev/null @@ -1,22 +0,0 @@ -CONFIG -= thread_off - -# #### These need to go -debug { - contains(DEFINES, QT_DLL) { - QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT_DLLDBG - QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT_DLLDBG - } else { - QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT_DBG - QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT_DBG - } -} else { - contains(DEFINES, QT_DLL) { - QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT_DLL - QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT_DLL - } else { - QMAKE_CFLAGS += $$QMAKE_CFLAGS_MT - QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_MT - } -} - -QMAKE_LIBS += $$QMAKE_LIBS_RTMT diff --git a/mkspecs/features/win32/thread_off.prf b/mkspecs/features/win32/thread_off.prf deleted file mode 100644 index 436a2c8166..0000000000 --- a/mkspecs/features/win32/thread_off.prf +++ /dev/null @@ -1,2 +0,0 @@ -CONFIG -= thread -QMAKE_LIBS += $$QMAKE_LIBS_RT diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp index 4f0c3ba6bb..fc80662c46 100644 --- a/src/plugins/platforms/xcb/qxcbscreen.cpp +++ b/src/plugins/platforms/xcb/qxcbscreen.cpp @@ -66,6 +66,7 @@ QXcbScreen::QXcbScreen(QXcbConnection *connection, xcb_screen_t *scr, , m_orientation(Qt::PrimaryOrientation) , m_number(number) , m_refreshRate(60) + , m_forcedDpi(-1) { if (connection->hasXRandr()) xcb_randr_select_input(xcb_connection(), screen()->root, true); @@ -82,6 +83,9 @@ QXcbScreen::QXcbScreen(QXcbConnection *connection, xcb_screen_t *scr, if (m_availableGeometry.isEmpty()) m_availableGeometry = QRect(QPoint(), m_virtualSize); + readXResources(); + + #ifdef Q_XCB_DEBUG qDebug(); qDebug("Screen output %s of xcb screen %d:", m_outputName.toUtf8().constData(), m_number); @@ -243,6 +247,9 @@ QImage::Format QXcbScreen::format() const QDpi QXcbScreen::logicalDpi() const { + if (m_forcedDpi > 0) + return QDpi(m_forcedDpi, m_forcedDpi); + return QDpi(Q_MM_PER_INCH * m_virtualSize.width() / m_virtualSizeMillimeters.width(), Q_MM_PER_INCH * m_virtualSize.height() / m_virtualSizeMillimeters.height()); } @@ -474,4 +481,41 @@ QPixmap QXcbScreen::grabWindow(WId window, int x, int y, int width, int height) return result; } +void QXcbScreen::readXResources() +{ + int offset = 0; + QByteArray resources; + while(1) { + xcb_get_property_reply_t *reply = + xcb_get_property_reply(xcb_connection(), + xcb_get_property_unchecked(xcb_connection(), false, screen()->root, + XCB_ATOM_RESOURCE_MANAGER, + XCB_ATOM_STRING, offset/4, 8192), NULL); + bool more = false; + if (reply && reply->format == 8 && reply->type == XCB_ATOM_STRING) { + resources += QByteArray((const char *)xcb_get_property_value(reply), xcb_get_property_value_length(reply)); + offset += xcb_get_property_value_length(reply); + more = reply->bytes_after != 0; + } + + if (reply) + free(reply); + + if (!more) + break; + } + + QList<QByteArray> split = resources.split('\n'); + for (int i = 0; i < split.size(); ++i) { + const QByteArray &r = split.at(i); + if (r.startsWith("Xft.dpi:\t")) { + bool ok; + int dpi = r.mid(sizeof("Xft.dpi:")).toInt(&ok); + if (ok) + m_forcedDpi = dpi; + break; + } + } +} + QT_END_NAMESPACE diff --git a/src/plugins/platforms/xcb/qxcbscreen.h b/src/plugins/platforms/xcb/qxcbscreen.h index d9eee464dc..96d30cde8b 100644 --- a/src/plugins/platforms/xcb/qxcbscreen.h +++ b/src/plugins/platforms/xcb/qxcbscreen.h @@ -96,6 +96,7 @@ public: void updateGeometry(xcb_timestamp_t timestamp); void updateRefreshRate(); + void readXResources(); private: xcb_screen_t *m_screen; xcb_randr_crtc_t m_crtc; @@ -114,6 +115,7 @@ private: QMap<xcb_visualid_t, xcb_visualtype_t> m_visuals; QXcbCursor *m_cursor; int m_refreshRate; + int m_forcedDpi; }; QT_END_NAMESPACE diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index 88f7acfb5b..df0f82532e 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -210,7 +210,6 @@ Configure::Configure(int& argc, char** argv) dictionary[ "BUILD_QMAKE" ] = "yes"; dictionary[ "VCPROJFILES" ] = "yes"; dictionary[ "QMAKE_INTERNAL" ] = "no"; - dictionary[ "FAST" ] = "no"; dictionary[ "PROCESS" ] = "partial"; dictionary[ "WIDGETS" ] = "yes"; dictionary[ "RTTI" ] = "yes"; @@ -802,11 +801,6 @@ void Configure::parseCmdLine() dictionary[ "NATIVE_GESTURES" ] = "no"; #if !defined(EVAL) // Others --------------------------------------------------- - else if (configCmdLine.at(i) == "-fast") - dictionary[ "FAST" ] = "yes"; - else if (configCmdLine.at(i) == "-no-fast") - dictionary[ "FAST" ] = "no"; - else if (configCmdLine.at(i) == "-widgets") dictionary[ "WIDGETS" ] = "yes"; else if (configCmdLine.at(i) == "-no-widgets") @@ -1649,11 +1643,6 @@ bool Configure::displayHelp() desc("LTCG", "yes", "-ltcg", "Use Link Time Code Generation. (Release builds only)"); desc("LTCG", "no", "-no-ltcg", "Do not use Link Time Code Generation.\n"); - desc("FAST", "no", "-no-fast", "Configure Qt normally by generating Makefiles for all project files."); - desc("FAST", "yes", "-fast", "Configure Qt quickly by generating Makefiles only for library and " - "subdirectory targets. All other Makefiles are created as wrappers " - "which will in turn run qmake.\n"); - desc( "-make <part>", "Add part to the list of parts to be built at make time"); for (int i=0; i<defaultBuildParts.size(); ++i) desc( "", qPrintable(QString(" %1").arg(defaultBuildParts.at(i))), false, ' '); @@ -1790,7 +1779,7 @@ bool Configure::displayHelp() desc("PROCESS", "partial", "-process", "Generate top-level Makefiles/Project files."); desc("PROCESS", "full", "-fully-process", "Generate Makefiles/Project files for the entire Qt\ntree."); - desc("PROCESS", "no", "-dont-process", "Do not generate Makefiles/Project files. This will override -no-fast if specified.\n"); + desc("PROCESS", "no", "-dont-process", "Do not generate Makefiles/Project files.\n"); desc("RTTI", "no", "-no-rtti", "Do not compile runtime type information."); desc("RTTI", "yes", "-rtti", "Compile runtime type information."); @@ -3755,43 +3744,6 @@ void Configure::buildQmake() } #endif -void Configure::findProjects(const QString& dirName) -{ - if (dictionary[ "PROCESS" ] != "no") { - QDir dir(dirName); - QString entryName; - int makeListNumber; - ProjectType qmakeTemplate; - const QFileInfoList &list = dir.entryInfoList(QStringList(QLatin1String("*.pro")), - QDir::AllDirs | QDir::Files | QDir::NoDotAndDotDot); - for (int i = 0; i < list.size(); ++i) { - const QFileInfo &fi = list.at(i); - if (fi.fileName() != "qmake.pro") { - entryName = dirName + "/" + fi.fileName(); - if (fi.isDir()) { - findProjects(entryName); - } else { - qmakeTemplate = projectType(fi.absoluteFilePath()); - switch (qmakeTemplate) { - case Lib: - case Subdirs: - makeListNumber = 1; - break; - default: - makeListNumber = 2; - break; - } - makeList[makeListNumber].append(new MakeItem(sourceDir.relativeFilePath(fi.absolutePath()), - fi.fileName(), - "Makefile", - qmakeTemplate)); - } - } - - } - } -} - void Configure::appendMakeItem(int inList, const QString &item) { QString dir; @@ -3813,9 +3765,8 @@ void Configure::generateMakefiles() if (spec != "win32-msvc.net" && !spec.startsWith("win32-msvc2") && !spec.startsWith(QLatin1String("wince"))) dictionary[ "VCPROJFILES" ] = "no"; - int i = 0; QString pwd = QDir::currentPath(); - if (dictionary["FAST"] != "yes") { + { QString dirName; bool generate = true; bool doDsp = (dictionary["VCPROJFILES"] == "yes"); @@ -3848,51 +3799,6 @@ void Configure::generateMakefiles() dictionary[ "DONE" ] = "error"; } } - } else { - findProjects(sourcePath); - for (i=0; i<3; i++) { - for (int j=0; j<makeList[i].size(); ++j) { - MakeItem *it=makeList[i][j]; - if (it->directory == "tools/configure") - continue; // don't overwrite our own Makefile - - QString dirPath = it->directory + '/'; - QString projectName = it->proFile; - QString makefileName = buildPath + "/" + dirPath + it->target; - - // For shadowbuilds, we need to create the path first - QDir buildPathDir(buildPath); - if (sourcePath != buildPath && !buildPathDir.exists(dirPath)) - buildPathDir.mkpath(dirPath); - - QStringList args; - - args << QDir::toNativeSeparators(buildPath + "/bin/qmake.exe"); - args << sourcePath + "/" + dirPath + projectName; - - cout << "For " << qPrintable(QDir::toNativeSeparators(dirPath + projectName)) << endl; - args << "-o"; - args << it->target; - - QDir::setCurrent(dirPath); - - QFile file(makefileName); - if (!file.open(QFile::WriteOnly | QFile::Text)) { - printf("failed on dirPath=%s, makefile=%s\n", - qPrintable(QDir::toNativeSeparators(dirPath)), - qPrintable(QDir::toNativeSeparators(makefileName))); - continue; - } - QTextStream txt(&file); - txt << "all:\n"; - txt << "\t" << args.join(' ') << "\n"; - txt << "\t$(MAKE) -$(MAKEFLAGS) -f " << it->target << "\n"; - txt << "first: all\n"; - txt << "qmake: FORCE\n"; - txt << "\t" << args.join(' ') << "\n"; - txt << "FORCE:\n"; - } - } } QDir::setCurrent(pwd); } else { diff --git a/tools/configure/configureapp.h b/tools/configure/configureapp.h index dc79e3ff58..3f4987f689 100644 --- a/tools/configure/configureapp.h +++ b/tools/configure/configureapp.h @@ -85,7 +85,6 @@ public: void generateSystemVars(); #endif void showSummary(); - void findProjects( const QString& dirName ); QString firstLicensePath(); #if !defined(EVAL) |