provisional MakeMaker patch for VMS
[p5sagit/p5-mst-13.2.git] / Configure
index 8dd43a0..856aa39 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 Fri Dec 21 17:46:40 EET 2001 [metaconfig 3.0 PL70]
+# Generated on Fri Dec 28 04:17:47 EET 2001 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.org)
 
 cat >c1$$ <<EOF
@@ -165,6 +165,12 @@ esac
 test -d UU || mkdir UU
 cd UU && rm -f ./*
 
+if test -f "/system/gnu_library/bin/ar.pm"; then
+     _exe=".pm"
+else
+     _exe=""
+fi
+
 ccname=''
 ccversion=''
 ccsymbols=''
@@ -1044,7 +1050,6 @@ useposix=true
 : set useopcode=false in your hint file to disable the Opcode extension.
 useopcode=true
 : Trailing extension.  Override this in a hint file, if needed.
-_exe=''
 : Extra object files, if any, needed on this platform.
 archobjs=''
 archname=''
@@ -1157,12 +1162,12 @@ if `$sh -c '#' >/dev/null 2>&1`; then
        if test ! -f $xcat$_exe; then
                for p in $paths; do
                        if test -f $p/cat$_exe; then
-                               xcat=$p/cat$_exe
+                               xcat=$p/cat
                                break
                        fi
                done
-               if test ! -f $xcat; then
-                       echo "Can't find cat anywhere!" >&4
+               if test ! -f $xcat$_exe; then
+                       echo "Can't find cat anywhere!"
                        exit 1
                fi
        fi
@@ -2075,6 +2080,7 @@ cpp
 csh
 date
 egrep
+gmake
 gzip
 less
 ln
@@ -2152,25 +2158,38 @@ for file in $trylist; do
        esac
 done
 case "$egrep" in
-egrep$_exe)
+egrep)
        echo "Substituting grep for egrep."
        egrep=$grep
        ;;
 esac
 case "$ln" in
-ln$_exe)
+ln)
        echo "Substituting cp for ln."
        ln=$cp
        ;;
 esac
-case "$make$gmake" in
-*make$_exe)
-       ;;
-*)
+case "$make" in
+make)  
+       case "$gmake" in
+       gmake)
        echo "I can't find make or gmake, and my life depends on it." >&4
        echo "Go find a public domain implementation or fix your PATH setting!" >&4
        exit 1
        ;;
+       esac
+       ;;
+esac   
+case "$gmake" in
+gmake) ;;
+*)     # We can't have osname yet.
+       if test -f "/system/gnu_library/bin/ar.pm"; then # Stratus VOS
+               # Assume that gmake, if found, is definitely GNU make
+               # and prefer it over the system make.
+               echo "Substituting gmake for make."
+               make=$gmake
+       fi
+       ;;
 esac
 case "$test" in
 test)
@@ -2791,7 +2810,7 @@ EOM
        $test -d /usr/apollo/bin && osname=apollo
        $test -f /etc/saf/_sactab && osname=svr4
        $test -d /usr/include/minix && osname=minix
-       $test -d /system && osname=vos
+       $test -f /system/gnu_library/bin/ar.pm && osname=vos
        if $test -d /MachTen -o -d /MachTen_Folder; then
                osname=machten
                if $test -x /sbin/version; then
@@ -4141,7 +4160,7 @@ so="$ans"
 : or the new name.
 case "$_exe" in
 '')    case "$exe_ext" in
-    '')        ;;
+       '')     ;;
        *)      _exe="$exe_ext" ;;
        esac
        ;;
@@ -9969,6 +9988,10 @@ case "$eagain" in
 #include <signal.h>
 #include <stdio.h> 
 #include <stdlib.h> 
+#$i_fcntl I_FCNTL
+#ifdef I_FCNTL
+#include <fcntl.h>
+#endif
 #define MY_O_NONBLOCK $o_nonblock
 #ifndef errno  /* XXX need better Configure test */
 extern int errno;
@@ -13452,7 +13475,12 @@ EOM
 $cat >try.c <<EOCP
 #include <stdio.h>
 #define U32 $u32type
-#define BYTEORDER $byteorder
+#define BYTEORDER 0x$byteorder
+#define U8 $u8type
+#include <signal.h>
+#ifdef SIGBUS
+$signal_t bletch(s) int s; { exit(4); }
+#endif
 int main() {
 #if BYTEORDER == 0x1234 || BYTEORDER == 0x4321
     U8 buf[] = "\0\0\0\1\0\0\0\0";
@@ -13466,6 +13494,10 @@ int main() {
 
     fflush(stdout);
 
+#ifdef SIGBUS
+    signal(SIGBUS, bletch);
+#endif
+
     for (i = 0; i < 4; i++) {
        up = (U32*)(buf + i);
        if (! ((*up == 1 << (8*i)) ||   /* big-endian */
@@ -13498,7 +13530,7 @@ int main() {
 EOCP
 set try
 if eval $compile_ok; then
-       echo "(Testing for character data alignment may dump core.)" >&4
+       echo "(Testing for character data alignment may crash the test.  That's okay.)" >&4
        $run ./try 2>&1 >/dev/null
        case "$?" in
        0)      cat >&4 <<EOM
@@ -13512,7 +13544,6 @@ EOM
                d_u32align="$define"
                ;;
        esac
-       $rm -f core core.try.* try.core
 else
        rp='Can you access character data at unaligned addresses?'
        dflt='n'
@@ -13522,6 +13553,7 @@ else
        *)      d_u32align="$define" ;;
        esac
 fi
+$rm -f core core.try.* try.core
 
 : see if ualarm exists
 set ualarm d_ualarm