]> granicus.if.org Git - python/commitdiff
On OS X, use os.uname() instead of gestalt.sysv(...) to get the
authorThomas Heller <theller@ctypes.org>
Thu, 11 Oct 2007 19:51:32 +0000 (19:51 +0000)
committerThomas Heller <theller@ctypes.org>
Thu, 11 Oct 2007 19:51:32 +0000 (19:51 +0000)
operating system version.  This allows to use ctypes when Python
was configured with --disable-toolbox-glue.

Lib/ctypes/__init__.py
Misc/NEWS

index 2e35307b5c8c00ee3be658ae35930d828dd6e9de..150089603a03382c2e9274a90867444690feb912 100644 (file)
@@ -24,19 +24,12 @@ if _os.name in ("nt", "ce"):
 
 DEFAULT_MODE = RTLD_LOCAL
 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
     # 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
 
 from _ctypes import FUNCFLAG_CDECL as _FUNCFLAG_CDECL, \
index 4492590bef6c2216a72b809dccb9b002ffa5e17f..99d9249f83bcb35d420ae9b31497be1f9c39dc73 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -272,6 +272,9 @@ Core and builtins
 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.
 
 - itertools.count() is no longer bounded to LONG_MAX.  Formerly, it raised