In this file:

* About kdelibs
* Licensing information
* Common Mistakes
* Debugging
* Upgrading
* More Info

About kdelibs
-------------

This is the version 2.0.1 release of the KDE libraries.  Among this
collection are twelve (12) libraries that are central to the development
and execution of a KDE program, internationalization files for these
libraries, misc HTML documentation, theme modules, and regression tests.  
These libraries are:

* kdecore
    This is the core collection of KDE stuff.  Non GUI classes reside here.

* kdeui
    The main collection of misc. user interface classes (widgets).

* kimgio
    An all purpose extension to the qimgio class that supports some obscure
    image formats.

* kfile
    This library contains the KFileDialog in all its glory.  A reasonably
    source compatable replacement to QFileDialog.

* kspell
    KSpell and related classes are a frontend to ispell for use within a
    GUI app.  kedit uses them already.

* kab
    The address book library.  See the README for more information.

* khtml
    The next generation HTML rendering widget designed for Konqueror
    (kfm's successor).  This supports HTML 4, CSS, and a variety of other web
    related standards.

* kio
    Classes that fetch and decode URLs are contained here.  Previously
    this functionality was contained in kfmlib, but among other
    improvments and redesigns, kio does not require KFM to operate.
    This library also contains "ksycoca", the system configure cache
    containing services, applications, servicetypes and mimetypes.

* kjs
    KDE's implementation of ECMAScript aka JavaScript.

* kparts
    KDE component model. Stay tuned.

* kstyles
    The theme engine lies within.  It handles nearly anything relating to
    customizing the appearance of widgets.

* dcop
    Something witty and creative about DCOP and it's Davidlyness goes
    here, David, D, you get it, sure.

* kssl
    An SSL intergration for KDE. It currently uses OpenSSL. Read kssl/README
    for up-to-date informations.


Licensing
---------

The libraries themselves have been covered (since Saturday, June 21st, 1997)
by the GNU Library General Public License (LGPL).  Any other programs (such as
the examples) are covered by the GNU General Public License (GPL).  All the
gory details for the LGPL reside in COPYING.LIB, and for the GPL reside in 
COPYING.

Various parts are also covered under a BSD style license, detailed in
COPYING.BSD.  Currently, code covered under such license is copyrighted by
Theo de Raadt.

When in doubt, check the individual file, they should all have license
headings and other identifying marks.

Common Mistakes
---------------

If configure claims Qt cannot be found, have a look at http://www.troll.no
to get a copy of Qt, version 2.2.1 or newer.  If you have peeked there
already, grab the CVS module qt-copy from anoncvs.kde.org, or a snapshot
thereof.

Debugging
---------

You can use --enable-debug with the configure script, if you want to have
debug code in your KDE libs.  If you have the space and can stand code that's
somewhat slower, this is worth it.  The extra information really
helps debugging and thus bugfixing.

Upgrading
---------

If you have an older kdebase installed, just copy all your .k*rc files
from $HOME to $HOME/.kde/share/config. In the other case, default values
are used for most apps.

Compile Problems
----------------

Often, KDE compile failures are not KDE's faults but the one of the
compiler or the distribution used. For that reason, please have a look at
http://www.kde.org/compilationfaq.html for know issues in certain OS
environments before reporting bugs or going mad :). 

More Info
---------

If you are running a FreeBSD system, you will need to make sure that LIBS
is set to "-Wl,-export-dynamic".  The easiest way to do this is to prefix
configure with it, i.e.: LIBS="-Wl,-export-dynamic" ./configure.  Thanks to
Will Andrews <will@FreeBSD.org> and Arun Sharma <adsharma@sharmas.dhs.org>
for identifying what needed to be done, and how to do it, and such.

If you get odd error such as:

as: Error: /var/tmp/ccK1Cfxa.s, line 2827: Truncating token:
__t4pair2Zt18__rb_tree_iterator3Zt4pair2ZCt12basic_string3ZcZt18string_char_trai
ts1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1
ZcZt24__default_alloc_template2b0i0ZRt4pair2ZCt12basic_string3ZcZt18string_char_
traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_tra
its1ZcZt24__default_alloc_template2b0i0ZPt4pair2ZCt12basic_string3ZcZt18string_c
har_traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char
_traits1ZcZt24__default_alloc_template2b0i0ZbRCt18__rb_tree_iterator3Zt4pair2ZCt
12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt12b
asic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZRt4pair
2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Z
t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZPt4
pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b
0i0Zt12basic_string3ZcZt18strin!
g_char_traits1ZcZt24__default_al

and you're using egcs, try re-compiling all your C++ libs with -fsquangle,
and then recompiling whatever you were working on with -fsquangle.  It
should help, and more information about this is available on the egcs FAQ
available at http://egcs.cygnus.com

Please direct any bug reports to me (kalle@kde.org). General KDE
discussions should go to the KDE mailing list (kde@kde.org).

Cow!
