Kaydet (Commit) 7fee6dd2 authored tarafından Thomas Heller's avatar Thomas Heller

On OS X, use os.uname() instead of gestalt.sysv(...) to get the

operating system version.  This allows to use ctypes when Python
was configured with --disable-toolbox-glue.
üst 631fee62
...@@ -24,19 +24,12 @@ if _os.name in ("nt", "ce"): ...@@ -24,19 +24,12 @@ if _os.name in ("nt", "ce"):
DEFAULT_MODE = RTLD_LOCAL DEFAULT_MODE = RTLD_LOCAL
if _os.name == "posix" and _sys.platform == "darwin": if _os.name == "posix" and _sys.platform == "darwin":
import gestalt
# gestalt.gestalt("sysv") returns the version number of the
# currently active system file as BCD.
# On OS X 10.4.6 -> 0x1046
# On OS X 10.2.8 -> 0x1028
# See also http://www.rgaros.nl/gestalt/
#
# On OS X 10.3, we use RTLD_GLOBAL as default mode # On OS X 10.3, we use RTLD_GLOBAL as default mode
# because RTLD_LOCAL does not work at least on some # because RTLD_LOCAL does not work at least on some
# libraries. # libraries. OS X 10.3 is Darwin 7, so we check for
# that.
if gestalt.gestalt("sysv") < 0x1040: if int(_os.uname()[2].split('.')[0]) < 8:
DEFAULT_MODE = RTLD_GLOBAL DEFAULT_MODE = RTLD_GLOBAL
from _ctypes import FUNCFLAG_CDECL as _FUNCFLAG_CDECL, \ from _ctypes import FUNCFLAG_CDECL as _FUNCFLAG_CDECL, \
......
...@@ -272,6 +272,9 @@ Core and builtins ...@@ -272,6 +272,9 @@ Core and builtins
Library Library
------- -------
- Patch #1203: ctypes now does work on OS X when Python is built with
--disable-toolbox-glue
- collections.deque() now supports a "maxlen" argument. - collections.deque() now supports a "maxlen" argument.
- itertools.count() is no longer bounded to LONG_MAX. Formerly, it raised - itertools.count() is no longer bounded to LONG_MAX. Formerly, it raised
......
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