Phonon include header fix, once and for all
Thiago Macieira
thiago at kde.org
Thu Dec 10 13:44:12 GMT 2009
In Qt 4.4, when Phonon was included into the product, we kept the KDE library
name (libphonon.so.4), but we screwed up the headers.
Qt only shipped with phonon/foo.h, which meant that KDE apps would not compile
against the Qt-shipped Phonon.
So I tried to fix this for Qt 4.5.0 by shipping in Qt:
phonon/foo.h
Phonon/ClassName
Bad idea, because of Windows and Mac, where the filesystems are case
insensitive.
I tried again in Qt 4.5.1 and failed.
I tried again in Qt 4.5.2 and failed again.
I tried again in Qt 4.5.3 and it looked like I had succeeded. The structure
is:
phonon/foo.h
phonon/Phonon/ClassName
phonon_compat/phonon/phonon (the master include file)
qmake would add the phonon_compat dir on its own, but CMake wouldn't. It
shouldn't be a problem because KDE-based apps never used that master include
file.
Turns out it's ALSO a failure. So I'm giving up on fixing this on the Qt side.
The reason is that it breaks frameworks on Mac, because the headers are
installed at:
/Library/Frameworks/phonon.framework/Headers
The p must be lowercase because of the library name.
We're reverting Qt to 4.4 style headers: lowercase p, no ClassName.
Phonon upstream has those headers. I'm asking that the Phonon/ClassName
headers be declared "unsupported, never meant to be used" and any app using
them declared "you're walking on thin ice, please fix immediately".
If someone wants this decision reverted, please send a patch to Qt's
bin/syncqt and mkspecs/features/qt.prf and make sure you've tested on Mac with
frameworks as well as Windows.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
Senior Product Manager - Nokia, Qt Development Frameworks
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: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-multimedia/attachments/20091210/9e8ef12b/attachment.sig>
-------------- next part --------------
_______________________________________________
kde-multimedia mailing list
kde-multimedia at kde.org
https://mail.kde.org/mailman/listinfo/kde-multimedia
More information about the kde-multimedia
mailing list