diff options
Diffstat (limited to 'contrib/perl5/hints/sco.sh')
-rw-r--r-- | contrib/perl5/hints/sco.sh | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/contrib/perl5/hints/sco.sh b/contrib/perl5/hints/sco.sh new file mode 100644 index 0000000..cef1c0c --- /dev/null +++ b/contrib/perl5/hints/sco.sh @@ -0,0 +1,140 @@ +# sco.sh +# Courtesy of Joel Rosi-Schwartz <j.schwartz@agonet.it> + +# Additional SCO version info from +# Peter Wolfe <wolfe@teloseng.com> +# Last revised +# Fri Jul 19 14:54:25 EDT 1996 +# by Andy Dougherty <doughera@lafcol.lafayette.edu> + +# To use gcc, use sh Configure -Dcc=gcc +# But gcc will *not* do dynamic laoding on 3.2.5, +# for that use sh Configure -Dcc=icc +# See below for more details. + +# figure out what SCO version we are. The output of uname -X is +# something like: +# System = SCO_SV +# Node = xxxxx +# Release = 3.2v5.0.0 +# KernelID = 95/08/08 +# Machine = Pentium +# BusType = ISA +# Serial = xxxxx +# Users = 5-user +# OEM# = 0 +# Origin# = 1 +# NumCPU = 1 + +# Use /bin/uname (because Gnu may be first on the path and +# it does not support -X) to figure out what SCO version we are: +case `/bin/uname -X | egrep '^Release'` in +*3.2v4.*) scorls=3 ;; # I don't know why this is 3 instead of 4 :-) +*3.2v5.*) scorls=5 ;; +*) scorls=3 ;; # this probabaly shouldn't happen +esac + +# Try to use libintl.a since it has strcoll and strxfrm +libswanted="intl $libswanted" +# Try to use libdbm.nfs.a since it has dbmclose. +# +if test -f /usr/lib/libdbm.nfs.a ; then + libswanted=`echo "dbm.nfs $libswanted " | sed -e 's/ dbm / /'` +fi +set X $libswanted +shift +libswanted="$*" + +# We don't want Xenix cross-development libraries +glibpth=`echo $glibpth | sed -e 's! /usr/lib/386 ! !' -e 's! /lib/386 ! !'` +xlibpth='' + +case "$cc" in +*gcc*) ccflags="$ccflags -U M_XENIX" + optimize="$optimize -O2" + ;; +scocc) ;; + +# On SCO 3.2v5 both cc and icc can build dynamic load, but cc core +# dumps if optimised, so I am only setting this up for icc. +# It is possible that some 3.2v4.2 system have icc, I seem to +# recall it was available as a seperate product but I have no +# knowledge if it can do dynamic loading and if so how. +# Joel Rosi-Schwartz +icc)# Apparently, SCO's cc gives rather verbose warnings + # Set -w0 to turn them off. + case $scorls in + 3) ccflags="$ccflags -W0 -quiet -U M_XENIX" ;; + 5) ccflags="$ccflags -belf -w0 -U M_XENIX" + optimize="-O1" # -g -O1 will not work + # optimize="-O0" may be needed for pack test to pass. + lddlflags='-G -L/usr/local/lib' + ldflags=' -W l,-Bexport -L/usr/local/lib' + dlext='so' + dlsrc='dl_dlopen.xs' + usedl='define' + ;; + esac + ;; + +*) # Apparently, miniperl core dumps if -O is used. + case "$optimize" in + '') optimize=none ;; + esac + # Apparently, SCO's cc gives rather verbose warnings + # Set -w0 to turn them off. + case $scorls in + 3) ccflags="$ccflags -W0 -quiet -U M_XENIX" ;; + 5) ccflags="$ccflags -w0 -U M_XENIX -DPERL_SCO5" ;; + esac + ;; +esac +i_varargs=undef + +# I have received one report that nm extraction doesn't work if you're +# using the scocc compiler. This system had the following 'myconfig' +# uname='xxx xxx 3.2 2 i386 ' +# cc='scocc', optimize='-O' +usenm='false' + +# If you want to use nm, you'll probably have to use nm -p. The +# following does that for you: +nm_opt='-p' + +# I have received one report that you can't include utime.h in +# pp_sys.c. Uncomment the following line if that happens to you: +# i_utime=undef + +# Apparently, some versions of SCO include both .so and .a libraries, +# but they don't mix as they do on other ELF systems. The upshot is +# that Configure finds -ldl (libdl.so) but 'ld' complains it can't +# find libdl.a. +# I don't know which systems have this feature, so I'll just remove +# -dl from libswanted for all SCO systems until someone can figure +# out how to get dynamic loading working on SCO. +# +# The output of uname -X on one such system was +# System = SCO_SV +# Node = xxxxx +# Release = 3.2v5.0.0 +# KernelID = 95/08/08 +# Machine = Pentium +# BusType = ISA +# Serial = xxxxx +# Users = 5-user +# OEM# = 0 +# Origin# = 1 +# NumCPU = 1 +# +# The 5.0.0 on the Release= line is probably the thing to watch. +# Andy Dougherty <doughera@lafcol.lafayette.edu> +# Thu Feb 1 15:06:56 EST 1996 +libswanted=`echo " $libswanted " | sed -e 's/ dl / /'` +set X $libswanted +shift +libswanted="$*" + +# Perl 5.003_05 and later try to include both <time.h> and <sys/select.h> +# in pp_sys.c, but that fails due to a redefinition of struct timeval. +# This will generate a WHOA THERE. Accept the default. +i_sysselct=$undef |