[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [aspell-devel] What needs to be done for next release?
From: |
Christoph Hintermüller |
Subject: |
Re: [aspell-devel] What needs to be done for next release? |
Date: |
Fri, 21 Jan 2005 16:46:23 +0100 |
User-agent: |
KMail/1.6.2 |
Hi
Am Freitag, 21. Januar 2005 08:09 schrieb Kevin Atkinson:
>
> Well a lot of C API code is generated so it will be necessary to modify
> the mk-src script. I will not accept a patch that only modifies the
> generated files. Perhaps it will be best to describe the changes needed
> and let me modify the script and send you a patch to try.
>
Are you talking about the __declspec(import/export) stuff. If not so forget
this mail.
Looking into other project i'm on which have to deal with differences between
linux/unix and windows solved the API import export stuff by providing an API
headerfile which looks like as follows
-----------------------snip-------------------------
#ifndef ASPELL_WIN_DLL_API_H
#define ASPELL_WIN_DLL_API_H
#ifdef _WIN32
# ifdef ASPELL_EXPORTS
# define ASPELL_API __declspec(dllexport)
# else
# define ASPELL_API __declspec(dllimport)
# endif
#else
# define ASPELL_API
#endif
#endif
------------------------snip-----------------------------
This file is included by all header files directly contributing to the API
and the class and function definitions which are part of the API look like as
follows.
class ASPELL_API classname : .....
ASPELL_API void somemfunc
This solution would imho be the easiest to implement within automatic
generation as the api code generator only has to properly add the ASPELL_API
macro to the entire function and class definitions. And in addition to that
the above AspellAPI has to be generated. Which can be hardcoded.
The only thing to determine is if it suffices to define the ASPELL_API macro
only if aspell itself is built or not or more logic it would be to define it
unless aspell is built when looking at __declspec(import) and
__declspec(export)?
cu
Xris