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 | # | |
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 | |
36df99d6 | 13 | ccflags="-D_SVID_SOURCE -D_POSIX_C_SOURCE=199509L" |
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 | |
21 | archname="hppa1.1" | |
22 | ||
b29b993b JH |
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 | ||
573e07cf JH |
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" | |
868439a2 | 41 | locincpth="$locincpth /system/include_library/sysv" |
573e07cf JH |
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 | ||
92d4dc7f JH |
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" | |
868439a2 JH |
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 | |
cf346138 PG |
71 | |
72 | # VOS has a link() function but it is a dummy. | |
73 | d_link="undef" | |
7b2b351e PG |
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 | |
1059054d PG |
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" | |
a5f25d7a PG |
90 | |
91 | # VOS does not have socketpair() but we supply one in vos.c | |
92 | d_sockpair="define" | |
c50b6f56 PG |
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` | |
a4349bea MB |
111 | if [ "X$gccversion" = "X" ]; then |
112 | # Done too late in Configure if hinted | |
113 | gccversion=`$cc --version | sed 's/.*(GCC) *//'` | |
114 | fi | |
c50b6f56 | 115 | case "$gccbug" in |
a4349bea | 116 | *fails*) cat >&4 <<EOF |
c50b6f56 PG |
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 | |
b78f6729 | 146 | |
b78f6729 | 147 | |
072ad4fe PG |
148 | # VOS 14.7 has minimal support for dynamic linking. Too minimal for perl. |
149 | usedl="undef" |