From 9a3fe8fc4912bf82b791c4131f553c18140ca838 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sun, 21 Jun 2009 13:17:13 -0300 Subject: [PATCH 10/18] Import README.qt-copy from the original qt-copy --- README.kde-qt | 188 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 188 insertions(+), 0 deletions(-) create mode 100644 README.kde-qt diff --git a/README.kde-qt b/README.kde-qt new file mode 100644 index 0000000..f605a0b --- /dev/null +++ b/README.kde-qt @@ -0,0 +1,188 @@ +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. + +1. Qt-copy patches +================== + +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) make sure your Qt sources are clean of other changes. Run: + svn revert -R . + b) make your changes to the Qt source code and verify that it + compiles, links and works. + c) open the patches/README file and get the next patch number + (you must read and understand the README file; if you don't, ask for + help from other KDE developers) + d) create the patch with: + svn diff > patches/NNNN-short-description-of-your-patch.diff + where NNNN is the next available number. + e) 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. + +Don't forget to submit your patch to qt-bugs@trolltech.com along with +the long description of the issue found, if you haven't already. +Qt Software does not monitor the patches/ directory, so qt-copy +patches do not get automatically applied to Qt official releases. + +When you receive the issue number and task tracker numbers, update the +patch file. + +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 -- 1.6.2.5