This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Re: Can't usemymalloc on OS X
[perl5.git] / hints / svr4.sh
index 2939e4e..b3be9ac 100644 (file)
@@ -23,7 +23,7 @@ libswanted=`echo " $libswanted " | sed -e 's/ malloc / /'` # -e 's/ ucb / /'`
 #   it is needed for ODBM_File and NDBM_File extensions.
 
 if [ -r /usr/ucblib/libucb.a ]; then   # If using BSD-compat. library:
-    d_Gconvert='gcvt'  # Try gcvt() before gconvert().
+    gconvert_preference='gcvt sprintf' # Try gcvt() before gconvert().
     # Use the "native" counterparts, not the BSD emulation stuff:
     d_bcmp='undef' d_bcopy='undef' d_bzero='undef' d_safebcpy='undef'
     d_index='undef' d_killpg='undef' d_getprior='undef' d_setprior='undef'
@@ -66,12 +66,18 @@ if [ "$sh_cnt" -ne "$csh_cnt" ]; then
     d_csh='undef'
 fi
 
-# UnixWare has a broken csh.  The undocumented -X argument to uname is probably
-# a reasonable way of detecting UnixWare.  Also in 2.1.1 the fields in
-# FILE* got renamed! Plus 1.1 can't cast large floats to 32-bit ints.
-#      Leave leading tabs so Configure doesn't propagate these variables
+# Unixware-specific problems.  The undocumented -X argument to uname 
+# is probably a reasonable way of detecting UnixWare.  
+# UnixWare has a broken csh.  (This might already be detected above).
+# In Unixware 2.1.1 the fields in FILE* got renamed!
+# Unixware 1.1 can't cast large floats to 32-bit ints.
+# Configure can't detect memcpy or memset on Unixware 2 or 7
+#
+#    Leave leading tabs on the next two lines so Configure doesn't 
+#    propagate these variables to config.sh
        uw_ver=`uname -v`
        uw_isuw=`uname -X 2>&1 | grep Release`
+
 if [ "$uw_isuw" = "Release = 4.2" ]; then
    case $uw_ver in
    1.1)
@@ -83,9 +89,26 @@ if [ "$uw_isuw" = "Release = 4.2MP" ]; then
    case $uw_ver in
    2.1)
        d_csh='undef'
+       d_memcpy='define'
+       d_memset='define'
        ;;
    2.1.*)
        d_csh='undef'
+       d_memcpy='define'
+       d_memset='define'
+       stdio_cnt='((fp)->__cnt)'
+       d_stdio_cnt_lval='define'
+       stdio_ptr='((fp)->__ptr)'
+       d_stdio_ptr_lval='define'
+       ;;
+   esac
+fi
+if [ "$uw_isuw" = "Release = 5" ]; then
+   case $uw_ver in
+   7)
+       d_csh='undef'
+       d_memcpy='define'
+       d_memset='define'
        stdio_cnt='((fp)->__cnt)'
        d_stdio_cnt_lval='define'
        stdio_ptr='((fp)->__ptr)'
@@ -93,6 +116,7 @@ if [ "$uw_isuw" = "Release = 4.2MP" ]; then
        ;;
    esac
 fi
+# End of Unixware-specific tests.
 
 # DDE SMES Supermax Enterprise Server
 case "`uname -sm`" in
@@ -111,6 +135,25 @@ case "`uname -sm`" in
     ;;
 esac
 
+# NCR MP-RAS.  Thanks to Doug Hendricks for this info.
+# The output of uname -a looks like this
+#      foo foo 4.0 3.0 3441 Pentium III(TM)-ISA/PCI
+# Similar errors reported for
+#       foo foo 4.0 3.0 4400 pentium ii(tm)-isapci '
+
+# Configure sets osname=svr4.0, osvers=3.0, archname='3441-svr4.0'
+case "$myuname" in
+*3441*|*4400*isapci)
+    # With the NCR High Performance C Compiler R3.0c, miniperl fails 
+    # t/op/regexp.t test 461 unless we compile with optimizie=-g.
+    # The whole O/S is being phased out, so more detailed probing
+    # is probably not warranted.
+    case "$optimize" in 
+    '') optimize='-g' ;;
+    esac
+    ;;
+esac
+
 # Configure may fail to find lstat() since it's a static/inline function
 # in <sys/stat.h> on Unisys U6000 SVR4, UnixWare 2.x, and possibly other
 # SVR4 derivatives.  (Though UnixWare has it in /usr/ccs/lib/libc.so.)
@@ -118,12 +161,3 @@ d_lstat=define
 
 d_suidsafe='define'    # "./Configure -d" can't figure this out easilly
 
-cat <<'EOM' >&4
-
-If you wish to use dynamic linking, you must use 
-       LD_LIBRARY_PATH=`pwd`; export LD_LIBRARY_PATH
-or
-       setenv LD_LIBRARY_PATH `pwd`
-before running make.
-
-EOM