winter at kde.org
Fri Apr 28 02:43:12 BST 2006
On Thursday 27 April 2006 17:15, Allen Winter wrote:
> On Tuesday 21 March 2006 16:41, Ingo Klöcker wrote:
> > On Tuesday 21 March 2006 20:21, Cornelius Schumacher wrote:
> > > Do we still need kdepimmacros.h and LIBKCAL_EXPORT in kdepim trunk?
> > IIRC then we still need it, but we should use KDEPIM_EXPORT instead of
> > KDE_EXPORT everywhere in libkdepim. You should ask on kde-core-devel.
> > http://wiki.kde.org/tiki-index.php?page=KDElibs%2Fwin32+Porting+Guidelines
> Searching through all of kdepim trunk, I found the following *_EXPORT macros being used:
> DW_EXPORT - mimelib only (see mimelib/config.h)
> KDE_EXPORT - all over the place
> KDEUI_EXPORT - 1 class in kmail (KListViewIndexedSearchLine) and
> 1 class in korganizer (KListViewNewSearchLine)
> LIBKCAL_EXPORT - libkcal only (but libkcal/libkcal_export.h has "#define LIBKCAL_EXPORT KDE_EXPORT")
> KDE_NO_EXPORT - 1 class in kaddressbook (localXXPortFactory)
> and, of course, kdepimmacros.h is included all over the place.
> IIRC, the whole reason for kdepimmacros.h was to overcome a bug in gcc with
> the visibility attribute. But we can't have that workaround anymore. I mean,
> kdepimmacros.h basically re-defines KDE_EXPORT to empty. I don't think
> that will work in the win32 world.
> So... in conclusion.. I'm asking if we should do the following:
> 1. eliminate kdepimmacros.h
> 2. replace all LIBKCAL_EXPORT with KDE_EXPORT
> 3. DW_EXPORT?? Leave it as is? (please look in kdepim/mimelib/config.h)
> 4. KDEUI_EXPORT is used because that's what the K3ListViewSearchLine class uses.
> Leave it alone, I guess
> 5. review all kdepim. make sure all public classes are KDE_EXPORTed
> Am I on the right track?
No, most of the above is totally wrong.
kdepimmacros.h must stay.
Each library "foo" must have its own LIBFOO_EXPORT
See kdepim/libkholidays_ng for how the export stuff needs to be done.. I think.
Let's Keep the Political Talk Out of KDE PLEASE
kde-pim mailing list
kde-pim at kde.org
kde-pim home page at http://pim.kde.org/
More information about the kde-core-devel