summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Include/pyport.h7
-rw-r--r--Modules/gcmodule.c2
-rw-r--r--Python/import.c2
-rw-r--r--Python/marshal.c2
4 files changed, 9 insertions, 4 deletions
diff --git a/Include/pyport.h b/Include/pyport.h
index 06ce6ab..8747271 100644
--- a/Include/pyport.h
+++ b/Include/pyport.h
@@ -428,7 +428,12 @@ extern double hypot(double, double);
# define PyAPI_FUNC(RTYPE) __declspec(dllexport) RTYPE
# define PyAPI_DATA(RTYPE) extern __declspec(dllexport) RTYPE
/* module init functions inside the core need no external linkage */
-# define PyMODINIT_FUNC void
+ /* except for Cygwin to handle embedding (FIXME: BeOS too?) */
+# if defined(__CYGWIN__)
+# define PyMODINIT_FUNC __declspec(dllexport) void
+# else /* __CYGWIN__ */
+# define PyMODINIT_FUNC void
+# endif /* __CYGWIN__ */
# else /* Py_BUILD_CORE */
/* Building an extension module, or an embedded situation */
/* public Python functions and data are imported */
diff --git a/Modules/gcmodule.c b/Modules/gcmodule.c
index bb40b8f..6442fe5 100644
--- a/Modules/gcmodule.c
+++ b/Modules/gcmodule.c
@@ -951,7 +951,7 @@ static PyMethodDef GcMethods[] = {
{NULL, NULL} /* Sentinel */
};
-void
+PyMODINIT_FUNC
initgc(void)
{
PyObject *m;
diff --git a/Python/import.c b/Python/import.c
index 858f9e5..abe3a19 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -2841,7 +2841,7 @@ setint(PyObject *d, char *name, int value)
return err;
}
-void
+PyMODINIT_FUNC
initimp(void)
{
PyObject *m, *d;
diff --git a/Python/marshal.c b/Python/marshal.c
index 5aaa382..0bb7b4f 100644
--- a/Python/marshal.c
+++ b/Python/marshal.c
@@ -875,7 +875,7 @@ static PyMethodDef marshal_methods[] = {
{NULL, NULL} /* sentinel */
};
-void
+PyMODINIT_FUNC
PyMarshal_Init(void)
{
(void) Py_InitModule("marshal", marshal_methods);