diff --git a/Lib/test/test_dl.py b/Lib/test/test_dl.py index 60a5cf0cefc..390dbd8afa7 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 bb49a500079..8c771335961 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 0892f160f88..f9524e68f08 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.