Commit | Line | Data |
573e07cf |
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 |
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 |
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 |
14 | |
15 | # Make command. |
16 | make="/system/gnu_library/bin/gmake" |
7b2b351e |
17 | # indented to not put it into config.sh |
18 | _make="/system/gnu_library/bin/gmake" |
573e07cf |
19 | |
20 | # Architecture name |
3722f0dc |
21 | if test `uname -m` = i786; then |
22 | archname="i786" |
23 | else |
24 | archname="hppa1.1" |
25 | fi |
573e07cf |
26 | |
b29b993b |
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 |
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 |
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 |
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 |
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 |
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 |
81 | |
82 | # VOS has a link() function but it is a dummy. |
83 | d_link="undef" |
7b2b351e |
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 |
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 |
100 | |
101 | # VOS does not have socketpair() but we supply one in vos.c |
102 | d_sockpair="define" |
c50b6f56 |
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 |
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 |
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 |
158 | # VOS 14.7 has minimal support for dynamic linking. Too minimal for perl. |
159 | usedl="undef" |