From 6efc6e783247f54e4dd3b4297a0a7d2bc654a141 Mon Sep 17 00:00:00 2001 From: "Andrew M. Kuchling" Date: Tue, 27 Feb 2001 20:54:23 +0000 Subject: [PATCH] Patch #404680: disables the nis module and enables the dl module when building under Cygwin. Makes some fixes to the dlmodule in order to compile with Cygwin. --- Lib/test/test_dl.py | 1 + Modules/dlmodule.c | 7 +++++-- setup.py | 13 +++++++------ 3 files changed, 13 insertions(+), 8 deletions(-) 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.