]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Patch #836434: Use dlopen/dlsym on AIX if available. Also disable
authorMartin v. Löwis <martin@v.loewis.de>
Tue, 18 Nov 2003 20:00:44 +0000 (20:00 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Tue, 18 Nov 2003 20:00:44 +0000 (20:00 +0000)
_XOPEN_SOURCE on AIX 4.

configure
configure.in

index a5549cc3c79521232885464c1ce3ff1ffd3223e2..7b1282ca852b75e7c4691b0385ea36d6861d49c2 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Revision: 1.439 .
+# From configure.in Revision: 1.440 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.57 for python 2.4.
 #
@@ -1458,6 +1458,11 @@ case $ac_sys_system/$ac_sys_release in
   # This should hopefully be fixed in FreeBSD 4.9
   FreeBSD/4.8* | Darwin/6* )
     define_xopen_source=no;;
+  # On AIX 4, mbstate_t is defined only when _XOPEN_SOURCE == 500 but used in
+  # wcsnrtombs() and mbsnrtowcs() even if _XOPEN_SOURCE is not defined or
+  # has another value. By not (re)defining it, the defaults come in place.
+  AIX/4)
+    define_xopen_source=no;;
 esac
 
 if test $define_xopen_source = yes
@@ -12984,7 +12989,12 @@ echo $ECHO_N "checking DYNLOADFILE... $ECHO_C" >&6
 if test -z "$DYNLOADFILE"
 then
        case $ac_sys_system/$ac_sys_release in
-       AIX*) DYNLOADFILE="dynload_aix.o";;
+       AIX*) # Use dynload_shlib.c and dlopen() if we have it; otherwise dynload_aix.c
+       if test "$ac_cv_func_dlopen" = yes
+       then DYNLOADFILE="dynload_shlib.o"
+       else DYNLOADFILE="dynload_aix.o"
+       fi
+       ;;
        BeOS*) DYNLOADFILE="dynload_beos.o";;
        hp*|HP*) DYNLOADFILE="dynload_hpux.o";;
        Darwin/*) DYNLOADFILE="dynload_next.o";;
index c567d2142535518600946e9fcc52dfc8fb89e978..e0dd64de3d7f9e8a33b5fd6194708442fa393fe7 100644 (file)
@@ -156,6 +156,11 @@ case $ac_sys_system/$ac_sys_release in
   # This should hopefully be fixed in FreeBSD 4.9
   FreeBSD/4.8* | Darwin/6* )
     define_xopen_source=no;;
+  # On AIX 4, mbstate_t is defined only when _XOPEN_SOURCE == 500 but used in
+  # wcsnrtombs() and mbsnrtowcs() even if _XOPEN_SOURCE is not defined or
+  # has another value. By not (re)defining it, the defaults come in place.
+  AIX/4)
+    define_xopen_source=no;;
 esac
 
 if test $define_xopen_source = yes
@@ -2036,7 +2041,12 @@ AC_MSG_CHECKING(DYNLOADFILE)
 if test -z "$DYNLOADFILE"
 then
        case $ac_sys_system/$ac_sys_release in
-       AIX*) DYNLOADFILE="dynload_aix.o";;
+       AIX*) # Use dynload_shlib.c and dlopen() if we have it; otherwise dynload_aix.c
+       if test "$ac_cv_func_dlopen" = yes
+       then DYNLOADFILE="dynload_shlib.o"
+       else DYNLOADFILE="dynload_aix.o"
+       fi
+       ;;
        BeOS*) DYNLOADFILE="dynload_beos.o";;
        hp*|HP*) DYNLOADFILE="dynload_hpux.o";;
        Darwin/*) DYNLOADFILE="dynload_next.o";;