Kaydet (Commit) 93227275 authored tarafından Martin v. Löwis's avatar Martin v. Löwis

Patch #497126: Always compile dl.

üst 7198a525
......@@ -312,6 +312,7 @@ Fredrik Nehr
Chad Netzer
Max Neunhffer
George Neville-Neil
Gustavo Niemeyer
Oscar Nierstrasz
Hrvoje Niksic
Bill Noon
......
......@@ -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
......
......@@ -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;
......
......@@ -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
......
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