Commit | Line | Data |
---|---|---|
573e07cf JH |
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 | # | |
3722f0dc PG |
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. | |
573e07cf JH |
8 | # |
9 | # Paul Green (Paul.Green@stratus.com) | |
10 | ||
11 | # C compiler and default options. | |
12 | cc=gcc | |
3722f0dc | 13 | ccflags="-D_SVID_SOURCE -D_POSIX_C_SOURCE=200112L" |
573e07cf JH |
14 | |
15 | # Make command. | |
16 | make="/system/gnu_library/bin/gmake" | |
7b2b351e PG |
17 | # indented to not put it into config.sh |
18 | _make="/system/gnu_library/bin/gmake" | |
573e07cf JH |
19 | |
20 | # Architecture name | |
3722f0dc PG |
21 | if test `uname -m` = i786; then |
22 | archname="i786" | |
23 | else | |
24 | archname="hppa1.1" | |
25 | fi | |
573e07cf | 26 | |
b29b993b JH |
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 | ||
573e07cf JH |
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 | |
3722f0dc PG |
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" | |
868439a2 | 51 | locincpth="$locincpth /system/include_library/sysv" |
573e07cf JH |
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 | ||
92d4dc7f JH |
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" | |
868439a2 JH |
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 | |
cf346138 PG |
81 | |
82 | # VOS has a link() function but it is a dummy. | |
83 | d_link="undef" | |
7b2b351e PG |
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 | |
1059054d PG |
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" | |
a5f25d7a PG |
100 | |
101 | # VOS does not have socketpair() but we supply one in vos.c | |
102 | d_sockpair="define" | |
c50b6f56 PG |
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` | |
a4349bea MB |
121 | if [ "X$gccversion" = "X" ]; then |
122 | # Done too late in Configure if hinted | |
0baa0948 | 123 | gccversion=`$cc -dumpversion` |
a4349bea | 124 | fi |
c50b6f56 | 125 | case "$gccbug" in |
a4349bea | 126 | *fails*) cat >&4 <<EOF |
c50b6f56 PG |
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 | |
b78f6729 | 156 | |
b78f6729 | 157 | |
072ad4fe PG |
158 | # VOS 14.7 has minimal support for dynamic linking. Too minimal for perl. |
159 | usedl="undef" |