X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/883fc3322aafd2c0c64a3bd8ba3b36ff9967e31e..f0ee386351fbbf1a41ead86e9163f688d1b37dc1:/hints/svr4.sh diff --git a/hints/svr4.sh b/hints/svr4.sh index 0a38702..34a00ab 100644 --- a/hints/svr4.sh +++ b/hints/svr4.sh @@ -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,21 +66,49 @@ 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! +# 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 so Configure doesn't propagate these variables -# to config.sh +# 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) + d_casti32='undef' + ;; + esac +fi 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)' @@ -88,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 @@ -106,19 +135,42 @@ 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 ' +# and also for +# foo foo 4.2 1.1.2 shg2 386at +# W. Geoffrey Rommel, 2003-09-09 reported: +# I have talked to a developer at NCR, and there seems to be no +# reliable way to make sure that this is really MP-RAS. It's not +# in uname, it's not in the kernel, it's not in sysinfo ... +# However, the files /etc/issue and /etc/.relid are present in MP-RAS. +# +# Other System V-derived systems may have /etc/issue, but /etc/.relid +# may well be unique. Configure-time tests for the POSIX +# _mwoflocheckl issue (see ext/POSIX/hints/svr4.pl) would be appreciated. +# +if test -f /etc/issue -a -f /etc/.relid; then + # libcrypt contains nothing libc wouldn't have. + libswanted=`echo " $libswanted " | sed -e 's/ crypt / /'` + # With the NCR High Performance C Compiler R3.0c, miniperl fails + # t/op/regexp.t test 461 unless we compile with optimize=-O0. + # Volunteers are needed to determine just which files need special + # treatment. For now, use optimize=-O0 for everything. + # + d_usleep='undef' + d_ualarm='undef' + case "$optimize" in + '') optimize='-O0' ;; + esac +fi + # Configure may fail to find lstat() since it's a static/inline function # in on Unisys U6000 SVR4, UnixWare 2.x, and possibly other # SVR4 derivatives. (Though UnixWare has it in /usr/ccs/lib/libc.so.) 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. +d_suidsafe='define' # "./Configure -d" can't figure this out easily -EOM