diff --git a/ChangeLog b/ChangeLog index 7705fc3..c037c0d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-02-06 David Ayers + + * EOControl/EODefines.h (GDL2CONTROL_EXPORT/DECLARE), + * EOAccess/EODefines.h (GDL2ACCESS_EXPORT/DECLARE), + * EOModeler/EODefines.h (GDL2MODELER_EXPORT/DECLARE): Synchronize + dllimport/export handling for MinGW with -base. + (Attempt to fix bug reported by Tim Kack) + 2008-01-22 David Ayers * EOControl/EOClassDescription.h: Avoid unnecessary include. diff --git a/EOAccess/EODefines.h b/EOAccess/EODefines.h index 3b67cce..22fe4be 100644 --- a/EOAccess/EODefines.h +++ b/EOAccess/EODefines.h @@ -27,11 +27,24 @@ #ifndef __EOAccess_EODefines_h__ #define __EOAccess_EODefines_h__ +#ifdef __cplusplus +extern "C" { +#endif + #ifdef GNUSTEP_WITH_DLL #if BUILD_libgnustep_db2_DLL + +# if defined(__MINGW32__) + /* On Mingw, the compiler will export all symbols automatically, so + * __declspec(dllexport) is not needed. + */ +# define GDL2ACCESS_EXPORT extern +# define GDL2ACCESS_DECLARE +# else # define GDL2ACCESS_EXPORT __declspec(dllexport) # define GDL2ACCESS_DECLARE __declspec(dllexport) +# endif #else # define GDL2ACCESS_EXPORT extern __declspec(dllimport) # define GDL2ACCESS_DECLARE __declspec(dllimport) @@ -44,4 +57,8 @@ #endif +#ifdef __cplusplus +} +#endif + #endif /* __EOAccess_EODefines_h__ */ diff --git a/EOControl/EODefines.h b/EOControl/EODefines.h index 7c3a9d2..298fdcc 100644 --- a/EOControl/EODefines.h +++ b/EOControl/EODefines.h @@ -27,14 +27,27 @@ #ifndef __EOControl_EODefines_h__ #define __EOControl_EODefines_h__ +#ifdef __cplusplus +extern "C" { +#endif + #ifdef GNUSTEP_WITH_DLL #if BUILD_libgnustep_db2control_DLL + +# if defined(__MINGW32__) + /* On Mingw, the compiler will export all symbols automatically, so + * __declspec(dllexport) is not needed. + */ +# define GDL2CONTROL_EXPORT extern +# define GDL2CONTROL_DECLARE +# else # define GDL2CONTROL_EXPORT __declspec(dllexport) -# define GDL2CONTROL_DECLARE __declspec(dllexport) +# define GDL2CONTROL_DECLARE __declspec(dllexport) +# endif #else # define GDL2CONTROL_EXPORT extern __declspec(dllimport) -# define GDL2CONTROL_DECLARE __declspec(dllimport) +# define GDL2CONTROL_DECLARE __declspec(dllimport) #endif #else /* GNUSTEP_WITH[OUT]_DLL */ @@ -44,6 +57,9 @@ #endif +#ifdef __cplusplus +} +#endif #endif /* __EOControl_EODefines_h__ */ diff --git a/EOModeler/EODefines.h b/EOModeler/EODefines.h index e59867e..442ddaf 100644 --- a/EOModeler/EODefines.h +++ b/EOModeler/EODefines.h @@ -26,11 +26,24 @@ #ifndef __EOModeler_EODefines_h__ #define __EOModeler_EODefines_h__ +#ifdef __cplusplus +extern "C" { +#endif + #ifdef GNUSTEP_WITH_DLL #if BUILD_libEOModeler_DLL + +# if defined(__MINGW32__) + /* On Mingw, the compiler will export all symbols automatically, so + * __declspec(dllexport) is not needed. + */ +# define GDL2MODELER_EXPORT extern +# define GDL2MODELER_DECLARE +# else # define GDL2MODELER_EXPORT __declspec(dllexport) # define GDL2MODELER_DECLARE __declspec(dllexport) +# endif #else # define GDL2MODELER_EXPORT extern __declspec(dllimport) # define GDL2MODELER_DECLARE __declspec(dllimport) @@ -43,4 +56,8 @@ #endif +#ifdef __cplusplus +} +#endif + #endif /* __EOMODELER_EODefines_h__ */