To configure this copy of Qt 3.3.6, type some variation of:

export QTDIR=$PWD
export PATH=$QTDIR/bin:$PATH
export YACC='byacc -d'
make -f Makefile.cvs
./configure <see below for options>
make sub-tools

This will give you the minimal version of Qt that is required for KDE.

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 TrollTech yet. and therefore they'll make your qt-copy differ from official
Qt version.

On Systems using GNU C++ please use -no-exceptions as well. It will
greatly help to reduce the memory consumption!

The recommended compile line is:

--default-config-begin--
./configure -system-zlib -qt-gif -system-libpng -system-libjpeg \
  -plugin-imgfmt-mng -thread -no-exceptions -debug -fast -dlopen-opengl
--default-config-end--

It adds "-debug" as well, which greatly improves the use for backtraces (but
also needs a lot more disk space and makes things slower).

If you wish to save some time and skip the examples and tutorials you can
use

    make sub-tools

This will only build the moc compiler and Qt library. You can always build
the examples and tutorials later by just re-running make by itself (without
target).

If you want to prelink Qt/KDE and depend on NVIDIA's binary drivers, add

  -dlopen-opengl

to the configure options.

On current versions of glibc, a bug causes memory corruption when opening,
closing and then opening dynamic libraries. This crashes kde designer
plugins. A simple workaround is disabling dlopen() call in qlibrary_unix.cpp

Please be aware of the fact that you need the original BSD version of yacc.
The GNU bison which claims to be yacc compatible will not work with C++
reliably. Often,

	export YACC='byacc -d'

helps the bash shell user

or  setenv YACC 'byacc -d'

fixes the problem for csh user.

Please remember that there might be some older Qt header files in your
$KDEDIR/include. Remove them before you try to recompile KDE.


Hint for people debugging Qt, being sick of waiting for the linker: In the
toplevel directory there's a file called .qmake.cache . Add the line
"QMAKE_INCREMENTAL = qfoo* qbar*" to the end of the file and run make. Then
qmake creates one big library which contains all the other classes and as
soon as you touch qfoo* or qbar* it only links these classes against the big
library.

Due to that nice trick linking time goes down to about 0,5 seconds. Note:
This feature is experimental and it's said to work on Linux only. You've
been warned.

Another way of reducing the linking time is compiling all moc files
in one .cpp file (saves about 20% normal linking time). To turn this feature
on, add "PRECOMPH = $$KERNEL_H/qt.h" at the end of src/kernel/qt_x11.pri ,
and move the one line referring to allmoc.cpp in configure out of the 'if'
block.


TROUBLESHOOTING THE RE-CONFIGURATION & RE-COMPILING PROCESS

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

ANTI-ALIASING

There are two versions of xft library: xft1 and xft2. In some cases, it may
be advisable for people who are experiencing problems with xft1 to try
compiling KDE with xft2. These cases include missing fonts and performance
problems loading qt applications. It has also been suggested that KDE's Font
Installer config. module may interactly badly with xft1 configuration (That
remains as a speculation, though)

-----------------------------------------------------------------------------
Please add your patches to the patches/ directory, unless they come from TT.

Otherwise the change will be lost if it hasn't been applied to official Qt
meanwhile.
