This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
To make arithmetic on tainted dualvars work properly requires that
[perl5.git] / hints / vos.sh
1 # $Id: vos.sh,v 1.0 2001-12-11 09:30:00-05 Green Exp $
2
3 # This is a hints file for Stratus VOS, using the POSIX environment
4 # in VOS 14.4.0 and higher.
5 #
6 # VOS POSIX is based on POSIX.1-1996.  It ships with gcc as the standard
7 # compiler.
8 #
9 # Paul Green (Paul.Green@stratus.com)
10
11 # C compiler and default options.
12 cc=gcc
13 ccflags="-D_SVID_SOURCE -D_POSIX_C_SOURCE=199509L"
14
15 # Make command.
16 make="/system/gnu_library/bin/gmake"
17 # indented to not put it into config.sh
18   _make="/system/gnu_library/bin/gmake"
19
20 # Architecture name
21 archname="hppa1.1"
22
23 # Executable suffix.
24 # No, this is not a typo.  The ".pm" really is the native
25 # executable suffix in VOS.  Talk about cosmic resonance.
26 _exe=".pm"
27
28 # Object library paths.
29 loclibpth="/system/stcp/object_library"
30 loclibpth="$loclibpth /system/stcp/object_library/common"
31 loclibpth="$loclibpth /system/stcp/object_library/net"
32 loclibpth="$loclibpth /system/stcp/object_library/socket"
33 loclibpth="$loclibpth /system/posix_object_library/sysv"
34 loclibpth="$loclibpth /system/posix_object_library"
35 loclibpth="$loclibpth /system/c_object_library"
36 loclibpth="$loclibpth /system/object_library"
37 glibpth="$loclibpth"
38
39 # Include library paths
40 locincpth="/system/stcp/include_library"
41 locincpth="$locincpth /system/include_library/sysv"
42 usrinc="/system/include_library"
43
44 # Where to install perl5.
45 prefix=/system/ported/perl5
46
47 # Linker is gcc.
48 ld="gcc"
49
50 # No shared libraries.
51 so="none"
52
53 # Don't use nm.
54 usenm="n"
55
56 # Make the default be no large file support.
57 uselargefiles="n"
58
59 # Don't use malloc that comes with perl.
60 usemymalloc="n"
61
62 # Make bison the default compiler-compiler.
63 yacc="/system/gnu_library/bin/bison"
64
65 # VOS doesn't have (or need) a pager, but perl needs one.
66 pager="/system/gnu_library/bin/cat.pm"
67
68 # VOS has a bug that causes _exit() to flush all files.
69 # This confuses the tests.  Make 'em happy here.
70 fflushNULL=define
71
72 # VOS has a link() function but it is a dummy.
73 d_link="undef"
74
75 # VOS does not have truncate() but we supply one in vos.c
76 d_truncate="define"
77 archobjs="vos.o"
78
79 # Help gmake find vos.c
80 test -h vos.c || ln -s vos/vos.c vos.c
81
82 # VOS returns a constant 1 for st_nlink when stat'ing a
83 # directory. Therefore, we must set this variable to stop
84 # File::Find using the link count to determine whether there are
85 # subdirectories to be searched.
86 dont_use_nlink=define
87
88 # Tell Configure where to find the hosts file.
89 hostcat="cat /system/stcp/hosts"
90
91 # VOS does not have socketpair() but we supply one in vos.c
92 d_sockpair="define"
93
94 # Once we have the compiler flags defined, Configure will
95 # execute the following call-back script. See hints/README.hints
96 # for details.
97 cat > UU/cc.cbu <<'EOCBU'
98 # This script UU/cc.cbu will get 'called-back' by Configure after it
99 # has prompted the user for the C compiler to use.
100
101 # Compile and run the a test case to see if bug gnu_g++-220 is
102 # present. If so, lower the optimization level when compiling
103 # pp_pack.c.  This works around a bug in unpack.
104
105 echo " "
106 echo "Testing whether bug gnu_g++-220 is fixed in your compiler..."
107
108 # Try compiling the test case.
109 if $cc -o t001 -O $ccflags $ldflags ../hints/t001.c; then
110         gccbug=`$run ./t001`
111         if [ "X$gccversion" = "X" ]; then
112                 # Done too late in Configure if hinted
113                 gccversion=`$cc --version | sed 's/.*(GCC) *//'`
114         fi
115         case "$gccbug" in
116         *fails*)        cat >&4 <<EOF
117 This C compiler ($gccversion) is known to have optimizer
118 problems when compiling pp_pack.c.  The Stratus bug number
119 for this problem is gnu_g++-220.
120
121 Disabling optimization for pp_pack.c.
122 EOF
123                         case "$pp_pack_cflags" in
124                         '')     pp_pack_cflags='optimize='
125                                 echo "pp_pack_cflags='optimize=\"\"'" >> config.sh ;;
126                         *)  echo "You specified pp_pack_cflags yourself, so we'll go with your value." >&4 ;;
127                         esac
128                 ;;
129         *)      echo "Your compiler is ok." >&4
130                 ;;
131         esac
132 else
133         echo " "
134         echo "*** WHOA THERE!!! ***" >&4
135         echo "    Your C compiler \"$cc\" doesn't seem to be working!" >&4
136         case "$knowitall" in
137         '')
138                 echo "    You'd better start hunting for one and let me know about it." >&4
139                 exit 1
140                 ;;
141         esac
142 fi
143
144 $rm -f t001$_o t001$_exe t001.kp
145 EOCBU
146
147
148 # VOS 14.7 has minimal support for dynamic linking. Too minimal for perl.
149 usedl="undef"