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