Phonon include headers mismatch

Thiago Macieira thiago at
Wed Jul 2 15:12:21 BST 2008

Matthias Kretz wrote:
>On Monday 30 June 2008 01:08:26 Thiago Macieira wrote:
>> Let's decide on one thing only and stick to it:
>> Phonon 4.0 (KDE 4.0) headers are in Phonon/*
>KDE 4.0 (and Phonon 4.2) ship headers in include/phonon/* and forward
> headers in include/KDE/Phonon/*
>> Phonon 4.1 (Qt 4.4) headers are in phonon/*
>> says #include <Phonon>, but
>> there's no such file in Qt sources. It does in KDE sources.
>> says #include
>> <phonon>. That exists in Qt sources, but not in KDE's.
>You mean <phonon/*> vs. <Phonon/*>, no? Because KDE doesn't have a
> <Phonon> include.
>> The Qt examples use #include <phonon/lowercaseheader.h> (see
>> Qt sources don't have per class forwarding headers, but the kdesupport
>> sources (trunk, to-be-4.3) do.
>> So I'm tempted to say we screwed up with Qt 4.4.0 and should rectify
>> it immediately.
>> We capitalise the P in the include dir, change the examples. For
>> compatibility, we can provide a symlink for case-sensitive
>> filesystems. And we add the per-class forwarding headers.
>> Do we have an agreement?
>Not sure I didn't misunderstand. You want the non-forward headers to be
> in the Phonon dir instead of phonon? That'd be wrong.
>The real headers should be in include/phonon/. The location of the
> forward headers might be a little problem for Qt-only, if it says
> include/KDE/Phonon/ ... But I fear that having both include/phonon and
> include/Phonon will get us in trouble.

I meant that we should have one *single* include set. Application 
developers shouldn't have to know which version of Phonon was installed.

I am proposing the Qt-style for the includes:

#include <Phonon/lowercaseheader.h>
#include <Phonon/ClassName>
#include <Phonon/Phonon>

Note that Phonon 4.1 shipped with Qt does not have that (because of the 
capital P).

If someone adds -I.../Phonon to their include path, then they can also 
#include <lowercaseheader.h>
#include <ClassName>

But they shouldn't do that because the class names are not very unique. 
They have to make sure that the parent directory to Phonon is also there 
because of the internal includes.

Phonon should now no longer be inside the KDE/ include dir.

  Thiago Macieira  -  thiago (AT) - thiago (AT)
    PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <>
-------------- next part --------------
kde-multimedia mailing list
kde-multimedia at

More information about the kde-multimedia mailing list