implement C<goto &func> and other fixes (via private mail)
[p5sagit/p5-mst-13.2.git] / Configure
index 329beed..175536c 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
 
 # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
 #
-# Generated on Wed Oct 21 12:24:45 EET DST 1998 [metaconfig 3.0 PL70]
+# Generated on Thu Oct 22 10:24:53 EET DST 1998 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by jhi@iki.fi)
 
 cat >/tmp/c1$$ <<EOF
@@ -8162,6 +8162,78 @@ eval $inlibc
 set poll d_poll
 eval $inlibc
 
+
+: see whether the various POSIXish _yields exist
+$cat >try.c <<EOP
+#include <pthread.h>
+#include <stdio.h>
+main() {
+#ifdef SCHED_YIELD
+       sched_yield();
+#else
+#ifdef PTHREAD_YIELD
+       pthread_yield();
+#else
+#ifdef PTHREAD_YIELD_NULL
+       pthread_yield(NULL);
+#endif
+#endif
+#endif
+}
+EOP
+: see if sched_yield exists
+set try -DSCHED_YIELD
+if eval $compile; then
+    val="$define"
+    sched_yield='sched_yield()'
+else
+    val="$undef"
+fi
+case "$usethreads" in
+$define)
+       case "$val" in
+       $define) echo 'sched_yield() found.' >&4        ;;
+       *)       echo 'sched_yield() NOT found.' >&4    ;;
+       esac
+esac
+set d_sched_yield
+eval $setvar
+
+: see if pthread_yield exists
+set try -DPTHREAD_YIELD
+if eval $compile; then
+    val="$define"
+    case "$sched_yield" in
+    '') sched_yield='pthread_yield()' ;;
+    esac
+else
+    set try -DPTHREAD_YIELD_NULL
+    if eval $compile; then
+       val="$define"
+       case "$sched_yield" in
+       '') sched_yield='pthread_yield(NULL)' ;;
+       esac
+    else
+       val="$undef"
+    fi
+fi
+case "$usethreads" in
+$define)
+       case "$val" in
+       $define) echo 'pthread_yield() found.' >&4      ;;
+       *)       echo 'pthread_yield() NOT found.' >&4  ;;
+       esac
+       ;;
+esac
+set d_pthread_yield
+eval $setvar
+
+case "$sched_yield" in
+'') sched_yield=undef ;;
+esac
+
+$rm -f try try.*
+
 : test whether pthreads are created in joinable -- aka undetached -- state
 if test "X$usethreads" = "X$define"; then
        echo $n "Checking whether pthreads are created joinable. $c" >&4 
@@ -8173,7 +8245,11 @@ int main() {
     int detachstate;
     printf("%s\n",
        pthread_attr_init(&attr) == 0 &&
+#if PTHREAD_ATTR_GETDETACHSTATE_INT
+        pthread_attr_getdetachstate(&attr) == 0 &&
+#else
         pthread_attr_getdetachstate(&attr, &detachstate) == 0 &&
+#endif
         detachstate == PTHREAD_CREATE_DETACHED ?
         "detached" : "joinable");
     exit(0);
@@ -8187,9 +8263,18 @@ EOCP
                        *) echo "Yup, they are." >&4 ;;
                esac
        else
-               echo " "
-               echo "(I can't execute the test program--assuming they are.)" >&4
-               yyy=joinable
+               set try -DPTHREAD_ATTR_GETDETACHSTATE_INT
+               if eval $compile; then
+                       yyy=`./try`
+                       case "$yyy" in
+                               detached) echo "Nope, they aren't." >&4 ;;
+                               *) echo "Yup, they are." >&4 ;;
+                       esac
+               else            
+                       echo " "
+                       echo "(I can't execute the test program--assuming they are.)" >&4
+                       yyy=joinable
+               fi
        fi
        $rm -f try try.*
        case "$yyy" in
@@ -10603,78 +10688,6 @@ else
 fi
 $rm -f foo* bar* 
 
-
-: see whether the various POSIXish _yields exist
-$cat >try.c <<EOP
-#include <pthread.h>
-#include <stdio.h>
-main() {
-#ifdef SCHED_YIELD
-       sched_yield();
-#else
-#ifdef PTHREAD_YIELD
-       pthread_yield();
-#else
-#ifdef PTHREAD_YIELD_NULL
-       pthread_yield(NULL);
-#endif
-#endif
-#endif
-}
-EOP
-: see if sched_yield exists
-set try -DSCHED_YIELD
-if eval $compile; then
-    val="$define"
-    sched_yield='sched_yield()'
-else
-    val="$undef"
-fi
-case "$usethreads" in
-$define)
-       case "$val" in
-       $define) echo 'sched_yield() found.' >&4        ;;
-       *)       echo 'sched_yield() NOT found.' >&4    ;;
-       esac
-esac
-set d_sched_yield
-eval $setvar
-
-: see if pthread_yield exists
-set try -DPTHREAD_YIELD
-if eval $compile; then
-    val="$define"
-    case "$sched_yield" in
-    '') sched_yield='pthread_yield()' ;;
-    esac
-else
-    set try -DPTHREAD_YIELD_NULL
-    if eval $compile; then
-       val="$define"
-       case "$sched_yield" in
-       '') sched_yield='pthread_yield(NULL)' ;;
-       esac
-    else
-       val="$undef"
-    fi
-fi
-case "$usethreads" in
-$define)
-       case "$val" in
-       $define) echo 'pthread_yield() found.' >&4      ;;
-       *)       echo 'pthread_yield() NOT found.' >&4  ;;
-       esac
-       ;;
-esac
-set d_pthread_yield
-eval $setvar
-
-case "$sched_yield" in
-'') sched_yield=undef ;;
-esac
-
-$rm -f try try.*
-
 : see if sys/select.h has to be included
 set sys/select.h i_sysselct
 eval $inhdr