Python on OS X 10.3 and above now uses dlopen() (via dynload_shlib.c)
to load extension modules and now provides the dl module. As a result, sys.setdlopenflags() now works correctly on these systems. (SF patch #1454844)
This commit is contained in:
parent
a50794b620
commit
8220174489
|
@ -945,7 +945,6 @@ _expectations = {
|
||||||
test_cd
|
test_cd
|
||||||
test_cl
|
test_cl
|
||||||
test_curses
|
test_curses
|
||||||
test_dl
|
|
||||||
test_gdbm
|
test_gdbm
|
||||||
test_gl
|
test_gl
|
||||||
test_imgfile
|
test_imgfile
|
||||||
|
|
|
@ -10,6 +10,7 @@ sharedlibs = [
|
||||||
('/usr/lib/libc.so', 'getpid'),
|
('/usr/lib/libc.so', 'getpid'),
|
||||||
('/lib/libc.so.6', 'getpid'),
|
('/lib/libc.so.6', 'getpid'),
|
||||||
('/usr/bin/cygwin1.dll', 'getpid'),
|
('/usr/bin/cygwin1.dll', 'getpid'),
|
||||||
|
('/usr/lib/libc.dylib', 'getpid'),
|
||||||
]
|
]
|
||||||
|
|
||||||
for s, func in sharedlibs:
|
for s, func in sharedlibs:
|
||||||
|
|
|
@ -478,6 +478,7 @@ Jean-Fran
|
||||||
Dan Pierson
|
Dan Pierson
|
||||||
Martijn Pieters
|
Martijn Pieters
|
||||||
François Pinard
|
François Pinard
|
||||||
|
Zach Pincus
|
||||||
Michael Piotrowski
|
Michael Piotrowski
|
||||||
Iustin Pop
|
Iustin Pop
|
||||||
John Popplewell
|
John Popplewell
|
||||||
|
|
|
@ -12,6 +12,12 @@ What's New in Python 2.5 alpha 2?
|
||||||
Core and builtins
|
Core and builtins
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
- Python on OS X 10.3 and above now uses dlopen() (via dynload_shlib.c)
|
||||||
|
to load extension modules and now provides the dl module. As a result,
|
||||||
|
sys.setdlopenflags() now works correctly on these systems. (SF patch
|
||||||
|
#1454844)
|
||||||
|
|
||||||
|
|
||||||
Extension Modules
|
Extension Modules
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
|
|
@ -10819,7 +10819,7 @@ echo "${ECHO_T}$enable_toolbox_glue" >&6
|
||||||
|
|
||||||
|
|
||||||
case $ac_sys_system/$ac_sys_release in
|
case $ac_sys_system/$ac_sys_release in
|
||||||
Darwin/[01234567].*)
|
Darwin/[01567]\..*)
|
||||||
OTHER_LIBTOOL_OPT="-prebind -seg1addr 0x10000000"
|
OTHER_LIBTOOL_OPT="-prebind -seg1addr 0x10000000"
|
||||||
;;
|
;;
|
||||||
Darwin/*)
|
Darwin/*)
|
||||||
|
@ -10829,7 +10829,7 @@ esac
|
||||||
|
|
||||||
|
|
||||||
case $ac_sys_system/$ac_sys_release in
|
case $ac_sys_system/$ac_sys_release in
|
||||||
Darwin/[01234567].*)
|
Darwin/[01567]\..*)
|
||||||
LIBTOOL_CRUFT="-framework System -lcc_dynamic -arch_only `arch`"
|
LIBTOOL_CRUFT="-framework System -lcc_dynamic -arch_only `arch`"
|
||||||
LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
|
LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
|
||||||
LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';;
|
LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';;
|
||||||
|
@ -13980,7 +13980,8 @@ then
|
||||||
;;
|
;;
|
||||||
BeOS*) DYNLOADFILE="dynload_beos.o";;
|
BeOS*) DYNLOADFILE="dynload_beos.o";;
|
||||||
hp*|HP*) DYNLOADFILE="dynload_hpux.o";;
|
hp*|HP*) DYNLOADFILE="dynload_hpux.o";;
|
||||||
Darwin/*) DYNLOADFILE="dynload_next.o";;
|
# Use dynload_next.c only on 10.2 and below, which don't have native dlopen()
|
||||||
|
Darwin/[0156]\..*) DYNLOADFILE="dynload_next.o";;
|
||||||
atheos*) DYNLOADFILE="dynload_atheos.o";;
|
atheos*) DYNLOADFILE="dynload_atheos.o";;
|
||||||
*)
|
*)
|
||||||
# use dynload_shlib.c and dlopen() if we have it; otherwise stub
|
# use dynload_shlib.c and dlopen() if we have it; otherwise stub
|
||||||
|
|
|
@ -1259,7 +1259,7 @@ AC_MSG_RESULT($enable_toolbox_glue)
|
||||||
|
|
||||||
AC_SUBST(OTHER_LIBTOOL_OPT)
|
AC_SUBST(OTHER_LIBTOOL_OPT)
|
||||||
case $ac_sys_system/$ac_sys_release in
|
case $ac_sys_system/$ac_sys_release in
|
||||||
Darwin/@<:@01234567@:>@.*)
|
Darwin/@<:@01567@:>@\..*)
|
||||||
OTHER_LIBTOOL_OPT="-prebind -seg1addr 0x10000000"
|
OTHER_LIBTOOL_OPT="-prebind -seg1addr 0x10000000"
|
||||||
;;
|
;;
|
||||||
Darwin/*)
|
Darwin/*)
|
||||||
|
@ -1269,7 +1269,7 @@ esac
|
||||||
|
|
||||||
AC_SUBST(LIBTOOL_CRUFT)
|
AC_SUBST(LIBTOOL_CRUFT)
|
||||||
case $ac_sys_system/$ac_sys_release in
|
case $ac_sys_system/$ac_sys_release in
|
||||||
Darwin/@<:@01234567@:>@.*)
|
Darwin/@<:@01567@:>@\..*)
|
||||||
LIBTOOL_CRUFT="-framework System -lcc_dynamic -arch_only `arch`"
|
LIBTOOL_CRUFT="-framework System -lcc_dynamic -arch_only `arch`"
|
||||||
LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
|
LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
|
||||||
LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';;
|
LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';;
|
||||||
|
@ -2110,7 +2110,8 @@ then
|
||||||
;;
|
;;
|
||||||
BeOS*) DYNLOADFILE="dynload_beos.o";;
|
BeOS*) DYNLOADFILE="dynload_beos.o";;
|
||||||
hp*|HP*) DYNLOADFILE="dynload_hpux.o";;
|
hp*|HP*) DYNLOADFILE="dynload_hpux.o";;
|
||||||
Darwin/*) DYNLOADFILE="dynload_next.o";;
|
# Use dynload_next.c only on 10.2 and below, which don't have native dlopen()
|
||||||
|
Darwin/@<:@0156@:>@\..*) DYNLOADFILE="dynload_next.o";;
|
||||||
atheos*) DYNLOADFILE="dynload_atheos.o";;
|
atheos*) DYNLOADFILE="dynload_atheos.o";;
|
||||||
*)
|
*)
|
||||||
# use dynload_shlib.c and dlopen() if we have it; otherwise stub
|
# use dynload_shlib.c and dlopen() if we have it; otherwise stub
|
||||||
|
|
2
setup.py
2
setup.py
|
@ -969,7 +969,7 @@ class PyBuildExt(build_ext):
|
||||||
if sys.maxint == 0x7fffffff:
|
if sys.maxint == 0x7fffffff:
|
||||||
# This requires sizeof(int) == sizeof(long) == sizeof(char*)
|
# This requires sizeof(int) == sizeof(long) == sizeof(char*)
|
||||||
dl_inc = find_file('dlfcn.h', [], inc_dirs)
|
dl_inc = find_file('dlfcn.h', [], inc_dirs)
|
||||||
if (dl_inc is not None) and (platform not in ['atheos', 'darwin']):
|
if (dl_inc is not None) and (platform not in ['atheos']):
|
||||||
exts.append( Extension('dl', ['dlmodule.c']) )
|
exts.append( Extension('dl', ['dlmodule.c']) )
|
||||||
|
|
||||||
# Thomas Heller's _ctypes module
|
# Thomas Heller's _ctypes module
|
||||||
|
|
Loading…
Reference in New Issue