summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xLib/test/test_dl.py1
-rw-r--r--Modules/dlmodule.c7
-rw-r--r--setup.py13
3 files changed, 13 insertions, 8 deletions
diff --git a/Lib/test/test_dl.py b/Lib/test/test_dl.py
index 60a5cf0..390dbd8 100755
--- a/Lib/test/test_dl.py
+++ b/Lib/test/test_dl.py
@@ -9,6 +9,7 @@ from test_support import verbose,TestSkipped
sharedlibs = [
('/usr/lib/libc.so', 'getpid'),
('/lib/libc.so.6', 'getpid'),
+ ('/usr/bin/cygwin1.dll', 'getpid'),
]
for s, func in sharedlibs:
diff --git a/Modules/dlmodule.c b/Modules/dlmodule.c
index bb49a50..8c77133 100644
--- a/Modules/dlmodule.c
+++ b/Modules/dlmodule.c
@@ -134,7 +134,7 @@ dl_getattr(dlobject *xp, char *name)
static PyTypeObject Dltype = {
- PyObject_HEAD_INIT(&PyType_Type)
+ PyObject_HEAD_INIT(NULL)
0, /*ob_size*/
"dl", /*tp_name*/
sizeof(dlobject), /*tp_basicsize*/
@@ -199,7 +199,7 @@ insint(PyObject *d, char *name, int value)
Py_XDECREF(v);
}
-void
+DL_EXPORT(void)
initdl(void)
{
PyObject *m, *d, *x;
@@ -211,6 +211,9 @@ initdl(void)
return;
}
+ /* Initialize object type */
+ Dltype.ob_type = &PyType_Type;
+
/* Create the module and add the functions */
m = Py_InitModule("dl", dl_methods);
diff --git a/setup.py b/setup.py
index 0892f16..f9524e6 100644
--- a/setup.py
+++ b/setup.py
@@ -387,12 +387,13 @@ class PyBuildExt(build_ext):
exts.append( Extension('dl', ['dlmodule.c']) )
# Sun yellow pages. Some systems have the functions in libc.
- if (self.compiler.find_library_file(lib_dirs, 'nsl')):
- libs = ['nsl']
- else:
- libs = []
- exts.append( Extension('nis', ['nismodule.c'],
- libraries = libs) )
+ if platform not in ['cygwin']:
+ if (self.compiler.find_library_file(lib_dirs, 'nsl')):
+ libs = ['nsl']
+ else:
+ libs = []
+ exts.append( Extension('nis', ['nismodule.c'],
+ libraries = libs) )
# Curses support, requring the System V version of curses, often
# provided by the ncurses library.