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"
|
---|