Commit a7a84709 authored by Guido van Rossum's avatar Guido van Rossum

Part of SF patch #102409 by jlt63 to support building these modules

under CYGWIN as shared libraries (DLLs).
parent cc843f4f
...@@ -952,13 +952,7 @@ static struct PyMethodDef mmap_functions[] = { ...@@ -952,13 +952,7 @@ static struct PyMethodDef mmap_functions[] = {
{NULL, NULL} /* Sentinel */ {NULL, NULL} /* Sentinel */
}; };
#ifdef MS_WIN32 DL_EXPORT(void)
__declspec(dllexport) void
#endif /* MS_WIN32 */
#ifdef UNIX
extern void
#endif
initmmap(void) initmmap(void)
{ {
PyObject *dict, *module; PyObject *dict, *module;
......
...@@ -27,6 +27,9 @@ ...@@ -27,6 +27,9 @@
#else #else
#include <readline/readline.h> /* You may need to add an -I option to Setup */ #include <readline/readline.h> /* You may need to add an -I option to Setup */
#ifdef __CYGWIN__
#include <readline/history.h>
#else /* !__CYGWIN__ */
extern int rl_parse_and_bind(char *); extern int rl_parse_and_bind(char *);
extern int rl_read_init_file(char *); extern int rl_read_init_file(char *);
extern int rl_insert_text(char *); extern int rl_insert_text(char *);
...@@ -38,11 +41,12 @@ extern int read_history(char *); ...@@ -38,11 +41,12 @@ extern int read_history(char *);
extern int write_history(char *); extern int write_history(char *);
extern int history_truncate_file(char *, int); extern int history_truncate_file(char *, int);
extern Function *rl_event_hook; extern Function *rl_event_hook;
#endif /* !__CYGWIN__ */
#endif #endif
/* Pointers needed from outside (but not declared in a header file). */ /* Pointers needed from outside (but not declared in a header file). */
extern int (*PyOS_InputHook)(void); extern DL_IMPORT(int) (*PyOS_InputHook)(void);
extern char *(*PyOS_ReadlineFunctionPointer)(char *); extern DL_IMPORT(char) *(*PyOS_ReadlineFunctionPointer)(char *);
/* Exported function to send one line to readline's init file parser */ /* Exported function to send one line to readline's init file parser */
......
...@@ -576,7 +576,7 @@ rotorobj_getattr(Rotorobj *s, char *name) ...@@ -576,7 +576,7 @@ rotorobj_getattr(Rotorobj *s, char *name)
statichere PyTypeObject Rotor_Type = { statichere PyTypeObject Rotor_Type = {
PyObject_HEAD_INIT(&PyType_Type) PyObject_HEAD_INIT(NULL)
0, /*ob_size*/ 0, /*ob_size*/
"rotor", /*tp_name*/ "rotor", /*tp_name*/
sizeof(Rotorobj), /*tp_size*/ sizeof(Rotorobj), /*tp_size*/
...@@ -619,5 +619,6 @@ rotor_methods[] = { ...@@ -619,5 +619,6 @@ rotor_methods[] = {
DL_EXPORT(void) DL_EXPORT(void)
initrotor(void) initrotor(void)
{ {
Rotor_Type.ob_type = &PyType_Type;
(void)Py_InitModule("rotor", rotor_methods); (void)Py_InitModule("rotor", rotor_methods);
} }
...@@ -529,7 +529,7 @@ static struct PyMethodDef SHA_functions[] = { ...@@ -529,7 +529,7 @@ static struct PyMethodDef SHA_functions[] = {
if (o!=NULL) PyDict_SetItemString(d,n,o); \ if (o!=NULL) PyDict_SetItemString(d,n,o); \
Py_XDECREF(o); } Py_XDECREF(o); }
void DL_EXPORT(void)
initsha(void) initsha(void)
{ {
PyObject *d, *m; PyObject *d, *m;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment