Patch #497126: Always compile dl.

This commit is contained in:
Martin v. Löwis 2002-01-01 20:18:30 +00:00
parent 7198a525f3
commit 93227275dc
4 changed files with 17 additions and 7 deletions

View File

@ -312,6 +312,7 @@ Fredrik Nehr
Chad Netzer
Max Neunhöffer
George Neville-Neil
Gustavo Niemeyer
Oscar Nierstrasz
Hrvoje Niksic
Bill Noon

View File

@ -12,6 +12,10 @@ Core and builtins
Extension modules
- dl is now build on every system that has dlfcn.h. Failure in case
of sizeof(int)!=sizeof(long)!=sizeof(void*) is delayed until dl.open
is called.
Library
- ftplib: to safeguard the user's privacy, anonymous login will use

View File

@ -158,6 +158,13 @@ dl_open(PyObject *self, PyObject *args)
char *name;
int mode;
PyUnivPtr *handle;
if (sizeof(int) != sizeof(long) ||
sizeof(long) != sizeof(char *)) {
PyErr_SetString(PyExc_SystemError,
"module dl requires sizeof(int) == sizeof(long) == sizeof(char*)");
return NULL;
}
if (PyArg_Parse(args, "z", &name))
mode = RTLD_LAZY;
else {
@ -204,13 +211,6 @@ initdl(void)
{
PyObject *m, *d, *x;
if (sizeof(int) != sizeof(long) ||
sizeof(long) != sizeof(char *)) {
PyErr_SetString(PyExc_SystemError,
"module dl requires sizeof(int) == sizeof(long) == sizeof(char*)");
return;
}
/* Initialize object type */
Dltype.ob_type = &PyType_Type;

View File

@ -567,6 +567,11 @@ class PyBuildExt(build_ext):
define_macros = expat_defs,
libraries = ['expat']) )
# Dynamic loading module
dl_inc = find_file('dlfcn.h', [], inc_dirs)
if dl_inc is not None:
exts.append( Extension('dl', ['dlmodule.c']) )
# Platform-specific libraries
if platform == 'linux2':
# Linux-specific modules