perl 5.003_03: hints/sco.sh
[p5sagit/p5-mst-13.2.git] / hints / sco.sh
1 # sco.sh 
2 # Courtesy of Joel Rosi-Schwartz <j.schwartz@agonet.it>
3
4 # Additional SCO version info from
5 # Peter Wolfe   <wolfe@teloseng.com>
6 # Last revised 
7 # Fri Jul 19 14:54:25 EDT 1996
8 # by Andy Dougherty  <doughera@lafcol.lafayette.edu>
9
10 # To use gcc, use     sh Configure -Dcc=gcc
11 # But gcc will *not* do dynamic laoding on 3.2.5,
12 # for that use        sh Configure -Dcc=icc
13 # See below for more details.
14
15 # figure out what SCO version we are. The output of uname -X is
16 # something like:
17 #       System = SCO_SV
18 #       Node = xxxxx
19 #       Release = 3.2v5.0.0
20 #       KernelID = 95/08/08
21 #       Machine = Pentium  
22 #       BusType = ISA
23 #       Serial = xxxxx
24 #       Users = 5-user
25 #       OEM# = 0
26 #       Origin# = 1
27 #       NumCPU = 1 
28  
29 # Use /bin/uname (because Gnu may be first on the path and
30 # it does not support -X) to figure out what SCO version we are:
31 case `/bin/uname -X | egrep '^Release'` in
32 *3.2v4.*) scorls=3 ;;   # I don't know why this is 3 instead of 4 :-)
33 *3.2v5.*) scorls=5 ;;
34 *) scorls=3 ;; # this probabaly shouldn't happen
35 esac
36
37 # Try to use libintl.a since it has strcoll and strxfrm
38 libswanted="intl $libswanted"
39 # Try to use libdbm.nfs.a since it has dbmclose.
40
41 if test -f /usr/lib/libdbm.nfs.a ; then
42     libswanted=`echo "dbm.nfs $libswanted " | sed -e 's/ dbm / /'`
43 fi
44 set X $libswanted
45 shift
46 libswanted="$*"
47
48 # We don't want Xenix cross-development libraries
49 glibpth=`echo $glibpth | sed -e 's! /usr/lib/386 ! !' -e 's! /lib/386 ! !'`
50 xlibpth=''
51
52 case "$cc" in
53 *gcc*)  ccflags="$ccflags -U M_XENIX"
54         optimize="$optimize -O2"
55         ;;
56 scocc)  ;;
57
58 # On SCO 3.2v5 both cc and icc can build dynamic load, but cc core
59 # dumps if optimised, so I am only setting this up for icc.
60 # It is possible that some 3.2v4.2 system have icc, I seem to
61 # recall it was available as a seperate product but I have no
62 # knowledge if it can do dynamic loading and if so how.
63 #       Joel Rosi-Schwartz
64 icc)# Apparently, SCO's cc gives rather verbose warnings
65         # Set -w0 to turn them off.
66         case $scorls in
67         3) ccflags="$ccflags -W0 -quiet -U M_XENIX" ;;
68         5) ccflags="$ccflags -belf -w0 -U M_XENIX"
69            optimize="-O1" # -g -O1 will not work
70        lddlflags='-G -L/usr/local/lib'
71        ldflags=' -W l,-Bexport -L/usr/local/lib'
72        dlext='so'
73        dlsrc='dl_dlopen.xs'
74        usedl='define'
75            ;;
76         esac
77         ;;
78
79 *)      # Apparently, SCO's cc gives rather verbose warnings
80         # Set -w0 to turn them off.
81         case $scorls in
82         3) ccflags="$ccflags -W0 -quiet -U M_XENIX" ;;
83         5) ccflags="$ccflags -w0 -U M_XENIX" ;;
84         esac
85         ;;
86 esac
87 i_varargs=undef
88
89 # I have received one report that nm extraction doesn't work if you're
90 # using the scocc compiler.  This system had the following 'myconfig'
91 # uname='xxx xxx 3.2 2 i386 '
92 # cc='scocc', optimize='-O'
93 usenm='false'
94
95 # If you want to use nm, you'll probably have to use nm -p.  The
96 # following does that for you:
97 nm_opt='-p'
98
99 # I have received one report that you can't include utime.h in
100 # pp_sys.c.  Uncomment the following line if that happens to you:
101 # i_utime=undef
102
103 # Apparently, some versions of SCO include both .so and .a libraries,
104 # but they don't mix as they do on other ELF systems.  The upshot is
105 # that Configure finds -ldl (libdl.so) but 'ld' complains it can't
106 # find libdl.a. 
107 # I don't know which systems have this feature, so I'll just remove
108 # -dl from libswanted for all SCO systems until someone can figure
109 # out how to get dynamic loading working on SCO.
110 #
111 # The output of uname -X on one such system was
112 #       System = SCO_SV
113 #       Node = xxxxx
114 #       Release = 3.2v5.0.0
115 #       KernelID = 95/08/08
116 #       Machine = Pentium  
117 #       BusType = ISA
118 #       Serial = xxxxx
119 #       Users = 5-user
120 #       OEM# = 0
121 #       Origin# = 1
122 #       NumCPU = 1 
123 #
124 # The 5.0.0 on the Release= line is probably the thing to watch.
125 #       Andy Dougherty <doughera@lafcol.lafayette.edu>
126 #       Thu Feb  1 15:06:56 EST 1996
127 libswanted=`echo " $libswanted " | sed -e 's/ dl / /'`
128 set X $libswanted
129 shift
130 libswanted="$*"