mirror of
https://github.com/python/cpython.git
synced 2024-11-24 18:34:43 +08:00
Patch #497126: Always compile dl.
This commit is contained in:
parent
7198a525f3
commit
93227275dc
@ -312,6 +312,7 @@ Fredrik Nehr
|
||||
Chad Netzer
|
||||
Max Neunhöffer
|
||||
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;
|
||||
|
||||
|
5
setup.py
5
setup.py
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user