[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