[Kde-bindings] Akonadi and other possibly ambiguous headers

Thomas Schaap t.m.schaap at student.tudelft.nl
Mon Jul 21 12:31:39 UTC 2008


Hi,

After having the umptieth compile of trunk go wrong on kde-bindings for 
akonadi I was fed up with it and decided to investigate. The result of 
this were the following surprising lines:

kalyptus: processing /usr/lib/kde4/include/nepomuk/entity.h 
 

kalyptus: processing /usr/lib/kde4/include/libkmobiletools/job.h 


Clearly, these lines should read:

kalyptus: processing /usr/lib/kde4/include/akonadi/entity.h 
 

kalyptus: processing /usr/lib/kde4/include/akonadi/job.h 


Searching the scripts for how the headers were selected I found out it's 
a simple (yet effective) recursive search through the include 
directories. Alas, in the case that a general include directory is used 
to place all KDE4 headers in, this can go wrong due to ambiguities.

To fix these possible ambiguities I suggest to rename all headers in the 
header lists to the names as they're used with in the actual code, such 
as akonadi/entity.h instead of entity.h. Of course, such names are no 
longer accepted by the old way of finding files, so I've written a patch 
to the generate.pl.cmake for akonadi to have it work.

I haven't committed anything, since I'm actually quite sure I've 
overlooked something, if only because this is literally My First Perl. I 
hope someone can convert my patch (attached) to something useful, 
though, and update all of kde-bindings to fix this error and prevent it 
from happening again.

Kind regards,

Thomas Schaap
-------------- next part --------------
A non-text attachment was scrubbed...
Name: akonadifix.diff
Type: text/x-patch
Size: 5183 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-bindings/attachments/20080721/881a176b/attachment.diff>


More information about the Kde-bindings mailing list