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