diff options
Diffstat (limited to 'Include')
-rw-r--r-- | Include/Python.h | 16 | ||||
-rw-r--r-- | Include/pyport.h | 10 |
2 files changed, 18 insertions, 8 deletions
diff --git a/Include/Python.h b/Include/Python.h index b978de2..3f0fd9b 100644 --- a/Include/Python.h +++ b/Include/Python.h @@ -27,14 +27,6 @@ #include <limits.h> #endif -/* pyconfig.h may or may not define DL_IMPORT */ -#ifndef DL_IMPORT /* declarations for DLL import/export */ -#define DL_IMPORT(RTYPE) RTYPE -#endif -#ifndef DL_EXPORT /* declarations for DLL import/export */ -#define DL_EXPORT(RTYPE) RTYPE -#endif - #if defined(__sgi) && defined(WITH_THREAD) && !defined(_SGI_MP_SOURCE) #define _SGI_MP_SOURCE #endif @@ -61,6 +53,14 @@ #include "pyport.h" +/* pyconfig.h or pyport.h may or may not define DL_IMPORT */ +#ifndef DL_IMPORT /* declarations for DLL import/export */ +#define DL_IMPORT(RTYPE) RTYPE +#endif +#ifndef DL_EXPORT /* declarations for DLL import/export */ +#define DL_EXPORT(RTYPE) RTYPE +#endif + /* Debug-mode build with pymalloc implies PYMALLOC_DEBUG. * PYMALLOC_DEBUG is in error if pymalloc is not in use. */ diff --git a/Include/pyport.h b/Include/pyport.h index 790c7af..5c3e0a9 100644 --- a/Include/pyport.h +++ b/Include/pyport.h @@ -384,9 +384,19 @@ extern int fsync(int fd); extern double hypot(double, double); #endif +#ifndef __CYGWIN__ #ifndef DL_IMPORT /* declarations for DLL import */ #define DL_IMPORT(RTYPE) RTYPE #endif +#else /* __CYGWIN__ */ +#ifdef USE_DL_IMPORT +#define DL_IMPORT(RTYPE) __declspec(dllimport) RTYPE +#define DL_EXPORT(RTYPE) __declspec(dllexport) RTYPE +#else /* !USE_DL_IMPORT */ +#define DL_IMPORT(RTYPE) __declspec(dllexport) RTYPE +#define DL_EXPORT(RTYPE) __declspec(dllexport) RTYPE +#endif /* USE_DL_IMPORT */ +#endif /* __CYGWIN__ */ /* If the fd manipulation macros aren't defined, here is a set that should do the job */ |