From kde-commits Thu Mar 25 17:44:18 2010 From: David Faure Date: Thu, 25 Mar 2010 17:44:18 +0000 To: kde-commits Subject: qt-copy Message-Id: <20100325174418.840F4AC876 () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=126953904905172 SVN commit 1107450 by dfaure: too many people asking questions on irc about qt-copy not compiling or being too old, time to remove it and leave only a readme pointing to kde-qt.git D FAQ D FAQ.txt D INSTALL D KNOWN.ISSUES D LGPL_EXCEPTION.txt D LICENSE.GPL3 D LICENSE.LGPL D README M +4 -180 README.qt-copy D apply_patches D apply_patches.py D bin (directory) D changes-4.5.1 D config.tests (directory) D configure D configure.exe D demos (directory) D doc (directory) D examples (directory) D include (directory) D lib (directory) D mkspecs (directory) D patches (directory) D projects.pro D qmake (directory) D src (directory) D tools (directory) D translations (directory) D upgrade_script.qt --- trunk/qt-copy/README.qt-copy #1107449:1107450 @@ -1,186 +1,10 @@ -This is a copy of Qt version 4.5.1. It may include -modifications which are necessary for KDE; these are listed in the -patches directory. +qt-copy no longer exists, please use kde-qt.git instead. -0. Switching to git -=================== - -It is recommended to use kde-qt.git instead of qt-copy. Right now both are possible, -but please transition at some point so that we can get rid of qt-copy later. -Also, adding new patches in qt-copy now requires using kde-qt.git anyway. - How to get kde-qt: git clone git://gitorious.org/+kde-developers/qt/kde-qt.git -Then read README.kde-qt and forget about the rest of this README.qt-copy here :-) +To switch to the 4.6 branch (and make that your local master branch) + git reset origin/4.6 -1. Qt-copy patches -================== +Then read README.kde-qt in there. -You may also consider running the apply_patches script before configuring qt-copy, -which will apply all not yet applied patches from the patches/ directory that -are considered safe (they mostly include optimizations and features that don't -add new API). Note that most of those patches haven't been accepted -by Qt Software yet. and therefore they'll make your qt-copy differ from official -Qt version. - -2. Configuring Qt -================= - -The recommended compile line is: - ---default-config-begin-- -./configure -qt-gif -debug -fast -no-exceptions -no-separate-debug-info \ - -system-libpng -system-libjpeg -system-zlib \ - -dbus -webkit -no-phonon -plugin-sql-mysql \ - -nomake examples -nomake demos -prefix ---default-config-end-- - -It contains "-debug", which greatly improves the use for backtraces (but -also needs a lot more disk space and makes things slower). To build in -release mode, replace it with "-release". - -It also contains "-no-separate-debug-info", which disables separate .debug -files. Instead, the debug information will be built into the libraries. -This option is needed when you install Qt. -If you don't install Qt, it can be useful to disable this option, -thus having separate debug symbol files. With separate debug files, you can -just move those debug files to another directory to remove Qt debug symbols. -Moving the files back will enable Qt debug symbols again. -This is useful if you rarely need to step into Qt functions during debugging, -because GDB loads much faster and uses less memory without Qt debug symbols. -In the rare case you need to step into Qt code, you can temporarily enable -debug symbols again by moving the debug files back. You can even load the Qt -debug symbols from within GDB on demand, using the "symbol-file" command. - -It also contains the "-no-exceptions" argument, which disables C++ -exception support. Disabling exception support may improve memory -consumption if GCC is being used. However, that also disables the -QtXmlPatterns module since that requires exception support. If you -plan on using that module, remove the option. - -If you are planning to compile Qt using an Icecream cluster you have to -pass the option -no-pch (no precompiled headers) to configure to make -distributed compilation work. - -3. Compiling Qt -=============== - -To compile Qt on a Unix platform, run: - - export MAKEFLAGS=-j2 - make - make install - -If your computer has more than one core or processor, you may consider -increasing the "2" above. If you've got a compile farm available, you -should adjust the -j argument to match the number of slots in that -farm. - -4. Modifying & rebuilding Qt -============================ - -If you make modifications to the Qt source code, you don't need to -build everything again. Simply go to the directory containing the -Makefile closest to the files you changed and run "make" again. - -For example, if you modified src/corelib/io/qiodevice.cpp, do: - - cd src/corelib - make - -Do not commit your modifications to qt-copy as such. If you have a fix -that benefit others, see the "Creating Qt-copy patches" section below. - -5. Building Qt examples and demos -================================= - -The "-nomake examples -nomake demos" arguments to the configure script -mean that those two sections will not be configured for -building. Which is unneeded for usage of the library. If you want to -compile the examples or demos later; just enter either directory and -type: - - qmake - make - -6. Building Qt documentation (only applies to Snapshot versions of Qt) -============================ - -To build and install the documentation, run: - - make docs - ./config.status - make install - -It is necessary to do this once only, even if you rebuild Qt later. - -7. Using Qt uninstalled -======================= - -To use without having to install it, configure it as follows: - - ./configure -prefix $PWD - make sub-src - make sub-tools - -Attention: DO NOT run - - make install - -If you do, Qt will overwrite your include/ directory with its -installation. - -8. Creating Qt-copy patches -=========================== - -If you have fixed a bug in Qt or modified it in any way that may -benefit others, please share your change in the form of a patch. Do -not commit your changes directly to the qt-copy module because they -may be lost in a future update if they have not been added to the -official Qt release. - -The exception to the above rule is that if the fix has been accepted -by Qt Software (and so will appear in the next release of Qt), then -it can be applied directly to qt-copy. In this case, the patch -should still be placed in patches/ as usual, but it should have a -header line - Applied: yes - -Before creating a patch, it is recommended to contact Qt Software -support via qt-bugs@trolltech.com and explain the situation. There may -be a solution for the problem already or a new direction that should -be accounted for. - -To create a patch, do the following: - a) see section 0 about checking out kde-qt.git - b) follow the instructions in kde-qt.git about making patches and submitting them - c) save the patch here for qt-copy users under the patches subdir, using the same - name as your git branch. - d) open the file you've just created and add the header to it. The - header should be the template in patches/README followed by a longer - description of your patch. - -9. Known issues with current Qt code -==================================== - -In case you have strange issues with non-resizing windows and similar, use - export QT_USE_NATIVE_WINDOWS=1 -before starting KDE. - -10. Troubleshooting: Re-configuring and re-compiling -=================================================== - -For those updating the source in a directory where Qt has already -been compiled, you may need to run the following commands from the -top directory of your Qt sources: - - find . -name '*.moc' | xargs rm - -Sometimes ./configure will refuse to run. You may need to: - rm .qmake.cache - -If you think you may have run "make install" on an install-less Qt -(srcdir == $QTDIR), run: - - svn revert -R include