annotate miscellany/patch-2.0.12u8/Configure @ 12:441a2190cfae

Lion fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 21 Apr 2012 13:10:49 +0900
parents bce86c4163a3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1 #! /bin/sh
bce86c4163a3 Initial revision
kono
parents:
diff changeset
2 #
bce86c4163a3 Initial revision
kono
parents:
diff changeset
3 # If these # comments don't work, trim them. Don't worry about any other
bce86c4163a3 Initial revision
kono
parents:
diff changeset
4 # shell scripts, Configure will trim # comments from them for you.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
5 #
bce86c4163a3 Initial revision
kono
parents:
diff changeset
6 # (If you are trying to port this package to a machine without sh, I would
bce86c4163a3 Initial revision
kono
parents:
diff changeset
7 # suggest you cut out the prototypical config.h from the end of Configure
bce86c4163a3 Initial revision
kono
parents:
diff changeset
8 # and edit it to reflect your system. Some packages may include samples
bce86c4163a3 Initial revision
kono
parents:
diff changeset
9 # of config.h for certain machines, so you might look for one of those.)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
10 #
12
441a2190cfae Lion fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
11 # $Header: /Users/kono/src/CVS/mh/miscellany/patch-2.0.12u8/Configure,v 1.1.1.1 2005/04/18 14:46:05 kono Exp $
0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
12 #
bce86c4163a3 Initial revision
kono
parents:
diff changeset
13 # Yes, you may rip this off to use in other distribution packages.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
14 # (Note: this Configure script was generated automatically. Rather than
bce86c4163a3 Initial revision
kono
parents:
diff changeset
15 # working with this copy of Configure, you may wish to get metaconfig.)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
16
bce86c4163a3 Initial revision
kono
parents:
diff changeset
17 : sanity checks
bce86c4163a3 Initial revision
kono
parents:
diff changeset
18 : the user has a better chance than we do of setting a reasonable PATH
bce86c4163a3 Initial revision
kono
parents:
diff changeset
19 : but add some directories we need that are probably not there
bce86c4163a3 Initial revision
kono
parents:
diff changeset
20 PATH=.:${PATH}:/etc:/usr/lib:/lib
bce86c4163a3 Initial revision
kono
parents:
diff changeset
21 export PATH || (echo "OOPS, this isn't sh. Desperation time. I will feed myself to sh."; sh $0; kill $$)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
22
bce86c4163a3 Initial revision
kono
parents:
diff changeset
23 if test ! -t 0; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
24 echo "Say 'sh Configure', not 'sh <Configure'"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
25 exit 1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
26 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
27
bce86c4163a3 Initial revision
kono
parents:
diff changeset
28 (alias) >/dev/null 2>&1 && \
bce86c4163a3 Initial revision
kono
parents:
diff changeset
29 echo "(I see you are using the Korn shell. Some ksh's blow up on Configure," && \
bce86c4163a3 Initial revision
kono
parents:
diff changeset
30 echo "especially on exotic machines. If yours does, try the Bourne shell instead.)"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
31
bce86c4163a3 Initial revision
kono
parents:
diff changeset
32 if test ! -d ../UU; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
33 if test ! -d UU; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
34 mkdir UU
bce86c4163a3 Initial revision
kono
parents:
diff changeset
35 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
36 cd UU
bce86c4163a3 Initial revision
kono
parents:
diff changeset
37 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
38
bce86c4163a3 Initial revision
kono
parents:
diff changeset
39 case "$1" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
40 -d) shift; fastread='yes';;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
41 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
42
bce86c4163a3 Initial revision
kono
parents:
diff changeset
43 d_eunice=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
44 eunicefix=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
45 define=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
46 loclist=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
47 expr=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
48 sed=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
49 echo=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
50 cat=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
51 rm=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
52 mv=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
53 cp=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
54 tail=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
55 tr=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
56 mkdir=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
57 sort=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
58 uniq=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
59 grep=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
60 trylist=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
61 test=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
62 inews=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
63 egrep=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
64 more=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
65 pg=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
66 Mcc=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
67 vi=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
68 mailx=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
69 mail=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
70 cpp=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
71 Log=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
72 Header=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
73 bin=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
74 cc=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
75 contains=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
76 cppstdin=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
77 cppminus=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
78 d_charsprf=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
79 d_flexfnam=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
80 d_index=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
81 d_voidsig=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
82 d_dirheader=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
83 d_unistd=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
84 libc=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
85 mansrc=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
86 manext=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
87 models=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
88 split=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
89 small=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
90 medium=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
91 large=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
92 huge=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
93 ccflags=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
94 ldflags=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
95 n=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
96 c=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
97 package=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
98 registers=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
99 reg1=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
100 reg2=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
101 reg3=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
102 reg4=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
103 reg5=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
104 reg6=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
105 reg7=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
106 reg8=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
107 reg9=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
108 reg10=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
109 reg11=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
110 reg12=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
111 reg13=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
112 reg14=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
113 reg15=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
114 reg16=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
115 spitshell=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
116 shsharp=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
117 sharpbang=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
118 startsh=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
119 voidflags=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
120 defvoidused=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
121 CONFIG=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
122 : set package name
bce86c4163a3 Initial revision
kono
parents:
diff changeset
123 package=patch
bce86c4163a3 Initial revision
kono
parents:
diff changeset
124
bce86c4163a3 Initial revision
kono
parents:
diff changeset
125 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
126 echo "Beginning of configuration questions for $package kit."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
127 : Eunice requires " " instead of "", can you believe it
bce86c4163a3 Initial revision
kono
parents:
diff changeset
128 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
129
bce86c4163a3 Initial revision
kono
parents:
diff changeset
130 define='define'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
131 undef='/*undef'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
132 libpth='/usr/lib /usr/local/lib /lib /usr/ccs/lib'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
133 smallmach='pdp11 i8086 z8000 i80286 iAPX286'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
134 rmlist='kit[1-9]isdone kit[1-9][0-9]isdone'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
135 trap 'echo " "; rm -f $rmlist; exit 1' 1 2 3
bce86c4163a3 Initial revision
kono
parents:
diff changeset
136
bce86c4163a3 Initial revision
kono
parents:
diff changeset
137 : We must find out about Eunice early
bce86c4163a3 Initial revision
kono
parents:
diff changeset
138 eunicefix=':'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
139 if test -f /etc/unixtovms; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
140 eunicefix=/etc/unixtovms
bce86c4163a3 Initial revision
kono
parents:
diff changeset
141 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
142 if test -f /etc/unixtovms.exe; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
143 eunicefix=/etc/unixtovms.exe
bce86c4163a3 Initial revision
kono
parents:
diff changeset
144 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
145
bce86c4163a3 Initial revision
kono
parents:
diff changeset
146 attrlist="mc68000 sun gcos unix ibm gimpel interdata tss os mert pyr"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
147 attrlist="$attrlist vax pdp11 i8086 z8000 u3b2 u3b5 u3b20 u3b200"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
148 attrlist="$attrlist ns32000 ns16000 iAPX286 mc300 mc500 mc700 sparc"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
149 attrlist="$attrlist nsc32000 sinix xenix venix posix ansi M_XENIX"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
150 attrlist="$attrlist mc68k m68k __STDC__"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
151 pth=`echo $PATH | tr : ' '`
bce86c4163a3 Initial revision
kono
parents:
diff changeset
152 d_newshome="../../NeWS"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
153 defvoidused=7
bce86c4163a3 Initial revision
kono
parents:
diff changeset
154
bce86c4163a3 Initial revision
kono
parents:
diff changeset
155 : some greps do not return status, grrr.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
156 echo "grimblepritz" >grimble
bce86c4163a3 Initial revision
kono
parents:
diff changeset
157 if grep blurfldyick grimble >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
158 contains=contains
bce86c4163a3 Initial revision
kono
parents:
diff changeset
159 elif grep grimblepritz grimble >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
160 contains=grep
bce86c4163a3 Initial revision
kono
parents:
diff changeset
161 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
162 contains=contains
bce86c4163a3 Initial revision
kono
parents:
diff changeset
163 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
164 rm -f grimble
bce86c4163a3 Initial revision
kono
parents:
diff changeset
165 : the following should work in any shell
bce86c4163a3 Initial revision
kono
parents:
diff changeset
166 case "$contains" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
167 contains*)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
168 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
169 echo "AGH! Grep doesn't return a status. Attempting remedial action."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
170 cat >contains <<'EOSS'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
171 grep "$1" "$2" >.greptmp && cat .greptmp && test -s .greptmp
bce86c4163a3 Initial revision
kono
parents:
diff changeset
172 EOSS
bce86c4163a3 Initial revision
kono
parents:
diff changeset
173 chmod +x contains
bce86c4163a3 Initial revision
kono
parents:
diff changeset
174 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
175
bce86c4163a3 Initial revision
kono
parents:
diff changeset
176 : first determine how to suppress newline on echo command
bce86c4163a3 Initial revision
kono
parents:
diff changeset
177 echo "Checking echo to see how to suppress newlines..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
178 (echo "hi there\c" ; echo " ") >.echotmp
bce86c4163a3 Initial revision
kono
parents:
diff changeset
179 if $contains c .echotmp >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
180 echo "...using -n."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
181 n='-n'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
182 c=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
183 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
184 cat <<'EOM'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
185 ...using \c
bce86c4163a3 Initial revision
kono
parents:
diff changeset
186 EOM
bce86c4163a3 Initial revision
kono
parents:
diff changeset
187 n=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
188 c='\c'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
189 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
190 echo $n "Type carriage return to continue. Your cursor should be here-->$c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
191 read ans
bce86c4163a3 Initial revision
kono
parents:
diff changeset
192 rm -f .echotmp
bce86c4163a3 Initial revision
kono
parents:
diff changeset
193
bce86c4163a3 Initial revision
kono
parents:
diff changeset
194 : now set up to do reads with possible shell escape and default assignment
bce86c4163a3 Initial revision
kono
parents:
diff changeset
195 cat <<EOSC >myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
196 case "\$fastread" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
197 yes) ans=''; echo " " ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
198 *) ans='!';;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
199 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
200 while expr "X\$ans" : "X!" >/dev/null; do
bce86c4163a3 Initial revision
kono
parents:
diff changeset
201 read ans
bce86c4163a3 Initial revision
kono
parents:
diff changeset
202 case "\$ans" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
203 !)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
204 sh
bce86c4163a3 Initial revision
kono
parents:
diff changeset
205 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
206 echo $n "\$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
207 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
208 !*)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
209 set \`expr "X\$ans" : "X!\(.*\)\$"\`
bce86c4163a3 Initial revision
kono
parents:
diff changeset
210 sh -c "\$*"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
211 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
212 echo $n "\$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
213 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
214 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
215 done
bce86c4163a3 Initial revision
kono
parents:
diff changeset
216 rp='Your answer:'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
217 case "\$ans" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
218 '') ans="\$dflt";;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
219 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
220 EOSC
bce86c4163a3 Initial revision
kono
parents:
diff changeset
221
bce86c4163a3 Initial revision
kono
parents:
diff changeset
222 : general instructions
bce86c4163a3 Initial revision
kono
parents:
diff changeset
223 cat <<EOH
bce86c4163a3 Initial revision
kono
parents:
diff changeset
224
bce86c4163a3 Initial revision
kono
parents:
diff changeset
225 This installation shell script will examine your system and ask you questions
bce86c4163a3 Initial revision
kono
parents:
diff changeset
226 to determine how the $package package should be installed. If you get stuck
bce86c4163a3 Initial revision
kono
parents:
diff changeset
227 on a question, you may use a ! shell escape to start a subshell or execute
bce86c4163a3 Initial revision
kono
parents:
diff changeset
228 a command. Many of the questions will have default answers in square
bce86c4163a3 Initial revision
kono
parents:
diff changeset
229 brackets--typing carriage return will give you the default.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
230
bce86c4163a3 Initial revision
kono
parents:
diff changeset
231 On some of the questions which ask for file or directory names you are
bce86c4163a3 Initial revision
kono
parents:
diff changeset
232 allowed to use the ~name construct to specify the login directory belonging
bce86c4163a3 Initial revision
kono
parents:
diff changeset
233 to "name", even if you don't have a shell which knows about that. Questions
bce86c4163a3 Initial revision
kono
parents:
diff changeset
234 where this is allowed will be marked "(~name ok)".
bce86c4163a3 Initial revision
kono
parents:
diff changeset
235
bce86c4163a3 Initial revision
kono
parents:
diff changeset
236 EOH
bce86c4163a3 Initial revision
kono
parents:
diff changeset
237 rp="[Type carriage return to continue]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
238 echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
239 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
240 cat <<EOH
bce86c4163a3 Initial revision
kono
parents:
diff changeset
241
bce86c4163a3 Initial revision
kono
parents:
diff changeset
242 Much effort has been expended to ensure that this shell script will run
bce86c4163a3 Initial revision
kono
parents:
diff changeset
243 on any Unix system. If despite that it blows up on you, your best bet is
bce86c4163a3 Initial revision
kono
parents:
diff changeset
244 to edit Configure and run it again. Also, let me (lwall@netlabs.com)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
245 know how I blew it. If you can't run Configure for some reason, you'll have
bce86c4163a3 Initial revision
kono
parents:
diff changeset
246 to generate a config.sh file by hand.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
247
bce86c4163a3 Initial revision
kono
parents:
diff changeset
248 This installation script affects things in two ways: 1) it may do direct
bce86c4163a3 Initial revision
kono
parents:
diff changeset
249 variable substitutions on some of the files included in this kit, and
bce86c4163a3 Initial revision
kono
parents:
diff changeset
250 2) it builds a config.h file for inclusion in C programs. You may edit
bce86c4163a3 Initial revision
kono
parents:
diff changeset
251 any of these files as the need arises after running this script.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
252
bce86c4163a3 Initial revision
kono
parents:
diff changeset
253 If you make a mistake on a question, there is no easy way to back up to it
bce86c4163a3 Initial revision
kono
parents:
diff changeset
254 currently. The easiest thing to do is to edit config.sh and rerun all the
bce86c4163a3 Initial revision
kono
parents:
diff changeset
255 SH files. Configure will offer to let you do this before it runs the SH files.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
256
bce86c4163a3 Initial revision
kono
parents:
diff changeset
257 EOH
bce86c4163a3 Initial revision
kono
parents:
diff changeset
258 rp="[Type carriage return to continue]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
259 echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
260 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
261
bce86c4163a3 Initial revision
kono
parents:
diff changeset
262 : get old answers, if there is a config file out there
bce86c4163a3 Initial revision
kono
parents:
diff changeset
263 if test -f ../config.sh; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
264 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
265 dflt=y
bce86c4163a3 Initial revision
kono
parents:
diff changeset
266 rp="I see a config.sh file. Did Configure make it on THIS system? [$dflt]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
267 echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
268 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
269 case "$ans" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
270 n*) echo "OK, I'll ignore it.";;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
271 *) echo "Fetching default answers from your old config.sh file..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
272 tmp="$n"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
273 ans="$c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
274 . ../config.sh
bce86c4163a3 Initial revision
kono
parents:
diff changeset
275 n="$tmp"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
276 c="$ans"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
277 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
278 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
279 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
280
bce86c4163a3 Initial revision
kono
parents:
diff changeset
281 : find out where common programs are
bce86c4163a3 Initial revision
kono
parents:
diff changeset
282 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
283 echo "Locating common programs..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
284 cat <<EOSC >loc
bce86c4163a3 Initial revision
kono
parents:
diff changeset
285 $startsh
bce86c4163a3 Initial revision
kono
parents:
diff changeset
286 case \$# in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
287 0) exit 1;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
288 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
289 thing=\$1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
290 shift
bce86c4163a3 Initial revision
kono
parents:
diff changeset
291 dflt=\$1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
292 shift
bce86c4163a3 Initial revision
kono
parents:
diff changeset
293 for dir in \$*; do
bce86c4163a3 Initial revision
kono
parents:
diff changeset
294 case "\$thing" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
295 .)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
296 if test -d \$dir/\$thing; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
297 echo \$dir
bce86c4163a3 Initial revision
kono
parents:
diff changeset
298 exit 0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
299 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
300 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
301 *)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
302 if test -f \$dir/\$thing; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
303 echo \$dir/\$thing
bce86c4163a3 Initial revision
kono
parents:
diff changeset
304 exit 0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
305 elif test -f \$dir/\$thing.exe; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
306 : on Eunice apparently
bce86c4163a3 Initial revision
kono
parents:
diff changeset
307 echo \$dir/\$thing
bce86c4163a3 Initial revision
kono
parents:
diff changeset
308 exit 0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
309 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
310 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
311 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
312 done
bce86c4163a3 Initial revision
kono
parents:
diff changeset
313 echo \$dflt
bce86c4163a3 Initial revision
kono
parents:
diff changeset
314 exit 1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
315 EOSC
bce86c4163a3 Initial revision
kono
parents:
diff changeset
316 chmod +x loc
bce86c4163a3 Initial revision
kono
parents:
diff changeset
317 $eunicefix loc
bce86c4163a3 Initial revision
kono
parents:
diff changeset
318 loclist="
bce86c4163a3 Initial revision
kono
parents:
diff changeset
319 expr
bce86c4163a3 Initial revision
kono
parents:
diff changeset
320 sed
bce86c4163a3 Initial revision
kono
parents:
diff changeset
321 echo
bce86c4163a3 Initial revision
kono
parents:
diff changeset
322 cat
bce86c4163a3 Initial revision
kono
parents:
diff changeset
323 rm
bce86c4163a3 Initial revision
kono
parents:
diff changeset
324 tr
bce86c4163a3 Initial revision
kono
parents:
diff changeset
325 grep
bce86c4163a3 Initial revision
kono
parents:
diff changeset
326 "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
327 trylist="
bce86c4163a3 Initial revision
kono
parents:
diff changeset
328 test
bce86c4163a3 Initial revision
kono
parents:
diff changeset
329 Mcc
bce86c4163a3 Initial revision
kono
parents:
diff changeset
330 cpp
bce86c4163a3 Initial revision
kono
parents:
diff changeset
331 "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
332 for file in $loclist; do
bce86c4163a3 Initial revision
kono
parents:
diff changeset
333 xxx=`loc $file $file $pth`
bce86c4163a3 Initial revision
kono
parents:
diff changeset
334 eval $file=$xxx
bce86c4163a3 Initial revision
kono
parents:
diff changeset
335 eval _$file=$xxx
bce86c4163a3 Initial revision
kono
parents:
diff changeset
336 case "$xxx" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
337 /*)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
338 echo $file is in $xxx.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
339 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
340 *)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
341 echo "I don't know where $file is. I hope it's in everyone's PATH."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
342 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
343 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
344 done
bce86c4163a3 Initial revision
kono
parents:
diff changeset
345 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
346 echo "Don't worry if any of the following aren't found..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
347 ans=offhand
bce86c4163a3 Initial revision
kono
parents:
diff changeset
348 for file in $trylist; do
bce86c4163a3 Initial revision
kono
parents:
diff changeset
349 xxx=`loc $file $file $pth`
bce86c4163a3 Initial revision
kono
parents:
diff changeset
350 eval $file=$xxx
bce86c4163a3 Initial revision
kono
parents:
diff changeset
351 eval _$file=$xxx
bce86c4163a3 Initial revision
kono
parents:
diff changeset
352 case "$xxx" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
353 /*)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
354 echo $file is in $xxx.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
355 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
356 *)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
357 echo "I don't see $file out there, $ans."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
358 ans=either
bce86c4163a3 Initial revision
kono
parents:
diff changeset
359 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
360 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
361 done
bce86c4163a3 Initial revision
kono
parents:
diff changeset
362 case "$egrep" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
363 egrep)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
364 echo "Substituting grep for egrep."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
365 egrep=$grep
bce86c4163a3 Initial revision
kono
parents:
diff changeset
366 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
367 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
368 case "$test" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
369 test)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
370 echo "Hopefully test is built into your sh."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
371 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
372 /bin/test)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
373 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
374 dflt=n
bce86c4163a3 Initial revision
kono
parents:
diff changeset
375 rp="Is your "'"'"test"'"'" built into sh? [$dflt] (OK to guess)"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
376 echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
377 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
378 case "$ans" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
379 y*) test=test ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
380 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
381 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
382 *)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
383 test=test
bce86c4163a3 Initial revision
kono
parents:
diff changeset
384 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
385 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
386 case "$echo" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
387 echo)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
388 echo "Hopefully echo is built into your sh."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
389 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
390 /bin/echo)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
391 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
392 echo "Checking compatibility between /bin/echo and builtin echo (if any)..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
393 $echo $n "hi there$c" >foo1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
394 echo $n "hi there$c" >foo2
bce86c4163a3 Initial revision
kono
parents:
diff changeset
395 if cmp foo1 foo2 >/dev/null 2>&1; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
396 echo "They are compatible. In fact, they may be identical."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
397 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
398 case "$n" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
399 '-n') n='' c='\c' ans='\c' ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
400 *) n='-n' c='' ans='-n' ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
401 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
402 cat <<FOO
bce86c4163a3 Initial revision
kono
parents:
diff changeset
403 They are not compatible! You are probably running ksh on a non-USG system.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
404 I'll have to use /bin/echo instead of the builtin, since Bourne shell doesn't
bce86c4163a3 Initial revision
kono
parents:
diff changeset
405 have echo built in and we may have to run some Bourne shell scripts. That
bce86c4163a3 Initial revision
kono
parents:
diff changeset
406 means I'll have to use $ans to suppress newlines now. Life is ridiculous.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
407
bce86c4163a3 Initial revision
kono
parents:
diff changeset
408 FOO
bce86c4163a3 Initial revision
kono
parents:
diff changeset
409 rp="Your cursor should be here-->"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
410 $echo $n "$rp$c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
411 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
412 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
413 $rm -f foo1 foo2
bce86c4163a3 Initial revision
kono
parents:
diff changeset
414 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
415 *)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
416 : cross your fingers
bce86c4163a3 Initial revision
kono
parents:
diff changeset
417 echo=echo
bce86c4163a3 Initial revision
kono
parents:
diff changeset
418 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
419 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
420 rmlist="$rmlist loc"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
421
bce86c4163a3 Initial revision
kono
parents:
diff changeset
422 : get list of predefined functions in a handy place
bce86c4163a3 Initial revision
kono
parents:
diff changeset
423 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
424 if test -f /lib/libc.a; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
425 echo "Your C library is in /lib/libc.a. You're normal."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
426 libc=/lib/libc.a
bce86c4163a3 Initial revision
kono
parents:
diff changeset
427 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
428 if test -f /lib/clib -a -f /lib/libc; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
429 echo "Your standard C library is in /lib/libc. Must be Domain/OS."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
430 libc=/lib/libc
bce86c4163a3 Initial revision
kono
parents:
diff changeset
431 elif test -f /lib/libsys_s.a; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
432 echo "Your C library is in /lib/libsys_s.a. Must be a NeXT."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
433 libc=/lib/libsys_s.a
bce86c4163a3 Initial revision
kono
parents:
diff changeset
434 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
435 ans=`loc libc.a blurfl/dyick $libpth`
bce86c4163a3 Initial revision
kono
parents:
diff changeset
436 if test ! -f $ans; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
437 ans=`loc clib blurfl/dyick $libpth`
bce86c4163a3 Initial revision
kono
parents:
diff changeset
438 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
439 if test ! -f $ans; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
440 ans=`loc libc blurfl/dyick $libpth`
bce86c4163a3 Initial revision
kono
parents:
diff changeset
441 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
442 if test -f $ans; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
443 echo "Your C library is in $ans, of all places."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
444 libc=$ans
bce86c4163a3 Initial revision
kono
parents:
diff changeset
445 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
446 if test -f "$libc"; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
447 echo "Your C library is in $libc, like you said before."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
448 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
449 cat <<EOM
bce86c4163a3 Initial revision
kono
parents:
diff changeset
450
bce86c4163a3 Initial revision
kono
parents:
diff changeset
451 I can't seem to find your C library. I've looked in the following places:
bce86c4163a3 Initial revision
kono
parents:
diff changeset
452
bce86c4163a3 Initial revision
kono
parents:
diff changeset
453 $libpth
bce86c4163a3 Initial revision
kono
parents:
diff changeset
454
bce86c4163a3 Initial revision
kono
parents:
diff changeset
455 None of these seems to contain your C library. What is the full name
bce86c4163a3 Initial revision
kono
parents:
diff changeset
456 EOM
bce86c4163a3 Initial revision
kono
parents:
diff changeset
457 dflt=None
bce86c4163a3 Initial revision
kono
parents:
diff changeset
458 $echo $n "of your C library? $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
459 rp='C library full name?'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
460 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
461 libc="$ans"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
462 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
463 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
464 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
465 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
466 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
467 $echo $n "Extracting names from $libc for later perusal...$c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
468 nm $libc 2>/dev/null | sed -n -e 's/^.* T _//p' -e 's/^.* T //p' > libc.list
bce86c4163a3 Initial revision
kono
parents:
diff changeset
469 if $contains '^printf$' libc.list >/dev/null 2>&1; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
470 echo "done"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
471 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
472 nm $libc 2>/dev/null | sed -n -e 's/^.* D _//p' -e 's/^.* D //p' > libc.list
bce86c4163a3 Initial revision
kono
parents:
diff changeset
473 if $contains '^printf$' libc.list >/dev/null 2>&1; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
474 echo "done"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
475 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
476 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
477 echo "nm didn't seem to work right."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
478 echo "Trying ar instead..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
479 if ar t $libc | sed -e 's/\.o$//' > libc.list; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
480 echo "Ok."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
481 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
482 echo "That didn't work either. Giving up."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
483 exit 1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
484 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
485 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
486 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
487 rmlist="$rmlist libc.list"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
488
bce86c4163a3 Initial revision
kono
parents:
diff changeset
489 : make some quick guesses about what we are up against
bce86c4163a3 Initial revision
kono
parents:
diff changeset
490 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
491 $echo $n "Hmm... $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
492 if $contains SIGTSTP /usr/include/signal.h >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
493 echo "Looks kind of like a BSD system, but we'll see..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
494 echo exit 0 >bsd
bce86c4163a3 Initial revision
kono
parents:
diff changeset
495 echo exit 1 >usg
bce86c4163a3 Initial revision
kono
parents:
diff changeset
496 echo exit 1 >v7
bce86c4163a3 Initial revision
kono
parents:
diff changeset
497 elif $contains '^fcntl$' libc.list >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
498 echo "Looks kind of like a USG system, but we'll see..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
499 echo exit 1 >bsd
bce86c4163a3 Initial revision
kono
parents:
diff changeset
500 echo exit 0 >usg
bce86c4163a3 Initial revision
kono
parents:
diff changeset
501 echo exit 1 >v7
bce86c4163a3 Initial revision
kono
parents:
diff changeset
502 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
503 echo "Looks kind of like a version 7 system, but we'll see..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
504 echo exit 1 >bsd
bce86c4163a3 Initial revision
kono
parents:
diff changeset
505 echo exit 1 >usg
bce86c4163a3 Initial revision
kono
parents:
diff changeset
506 echo exit 0 >v7
bce86c4163a3 Initial revision
kono
parents:
diff changeset
507 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
508 if $contains '^vmssystem$' libc.list >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
509 cat <<'EOI'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
510 There is, however, a strange, musty smell in the air that reminds me of
bce86c4163a3 Initial revision
kono
parents:
diff changeset
511 something...hmm...yes...I've got it...there's a VMS nearby, or I'm a Blit.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
512 EOI
bce86c4163a3 Initial revision
kono
parents:
diff changeset
513 echo "exit 0" >eunice
bce86c4163a3 Initial revision
kono
parents:
diff changeset
514 eunicefix=unixtovms
bce86c4163a3 Initial revision
kono
parents:
diff changeset
515 d_eunice="$define"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
516 : it so happens the Eunice I know will not run shell scripts in Unix format
bce86c4163a3 Initial revision
kono
parents:
diff changeset
517 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
518 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
519 echo "Congratulations. You aren't running Eunice."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
520 eunicefix=':'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
521 d_eunice="$undef"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
522 echo "exit 1" >eunice
bce86c4163a3 Initial revision
kono
parents:
diff changeset
523 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
524 if test -f /xenix; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
525 echo "Actually, this looks more like a XENIX system..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
526 echo "exit 0" >xenix
bce86c4163a3 Initial revision
kono
parents:
diff changeset
527 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
528 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
529 echo "It's not Xenix..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
530 echo "exit 1" >xenix
bce86c4163a3 Initial revision
kono
parents:
diff changeset
531 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
532 chmod +x xenix
bce86c4163a3 Initial revision
kono
parents:
diff changeset
533 $eunicefix xenix
bce86c4163a3 Initial revision
kono
parents:
diff changeset
534 if test -f /venix; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
535 echo "Actually, this looks more like a VENIX system..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
536 echo "exit 0" >venix
bce86c4163a3 Initial revision
kono
parents:
diff changeset
537 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
538 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
539 if xenix; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
540 : null
bce86c4163a3 Initial revision
kono
parents:
diff changeset
541 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
542 echo "Nor is it Venix..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
543 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
544 echo "exit 1" >venix
bce86c4163a3 Initial revision
kono
parents:
diff changeset
545 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
546 chmod +x bsd usg v7 eunice venix
bce86c4163a3 Initial revision
kono
parents:
diff changeset
547 $eunicefix bsd usg v7 eunice venix
bce86c4163a3 Initial revision
kono
parents:
diff changeset
548 rmlist="$rmlist bsd usg v7 eunice venix xenix"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
549
bce86c4163a3 Initial revision
kono
parents:
diff changeset
550 : see if sh knows # comments
bce86c4163a3 Initial revision
kono
parents:
diff changeset
551 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
552 echo "Checking your sh to see if it knows about # comments..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
553 if sh -c '#' >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
554 echo "Your sh handles # comments correctly."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
555 shsharp=true
bce86c4163a3 Initial revision
kono
parents:
diff changeset
556 spitshell=cat
bce86c4163a3 Initial revision
kono
parents:
diff changeset
557 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
558 echo "Okay, let's see if #! works on this system..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
559 echo "#!/bin/echo hi" > try
bce86c4163a3 Initial revision
kono
parents:
diff changeset
560 $eunicefix try
bce86c4163a3 Initial revision
kono
parents:
diff changeset
561 chmod +x try
bce86c4163a3 Initial revision
kono
parents:
diff changeset
562 try > today
bce86c4163a3 Initial revision
kono
parents:
diff changeset
563 if $contains hi today >/dev/null 2>&1; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
564 echo "It does."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
565 sharpbang='#!'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
566 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
567 echo "#! /bin/echo hi" > try
bce86c4163a3 Initial revision
kono
parents:
diff changeset
568 $eunicefix try
bce86c4163a3 Initial revision
kono
parents:
diff changeset
569 chmod +x try
bce86c4163a3 Initial revision
kono
parents:
diff changeset
570 try > today
bce86c4163a3 Initial revision
kono
parents:
diff changeset
571 if test -s today; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
572 echo "It does."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
573 sharpbang='#! '
bce86c4163a3 Initial revision
kono
parents:
diff changeset
574 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
575 echo "It doesn't."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
576 sharpbang=': use '
bce86c4163a3 Initial revision
kono
parents:
diff changeset
577 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
578 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
579 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
580 echo "Your sh doesn't grok # comments--I will strip them later on."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
581 shsharp=false
bce86c4163a3 Initial revision
kono
parents:
diff changeset
582 echo "exec grep -v '^#'" >spitshell
bce86c4163a3 Initial revision
kono
parents:
diff changeset
583 chmod +x spitshell
bce86c4163a3 Initial revision
kono
parents:
diff changeset
584 $eunicefix spitshell
bce86c4163a3 Initial revision
kono
parents:
diff changeset
585 spitshell=`pwd`/spitshell
bce86c4163a3 Initial revision
kono
parents:
diff changeset
586 echo "I presume that if # doesn't work, #! won't work either!"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
587 sharpbang=': use '
bce86c4163a3 Initial revision
kono
parents:
diff changeset
588 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
589
bce86c4163a3 Initial revision
kono
parents:
diff changeset
590 : figure out how to guarantee sh startup
bce86c4163a3 Initial revision
kono
parents:
diff changeset
591 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
592 echo "Checking out how to guarantee sh startup..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
593 startsh=$sharpbang'/bin/sh'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
594 echo "Let's see if '$startsh' works..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
595 cat >try <<EOSS
bce86c4163a3 Initial revision
kono
parents:
diff changeset
596 $startsh
bce86c4163a3 Initial revision
kono
parents:
diff changeset
597 set abc
bce86c4163a3 Initial revision
kono
parents:
diff changeset
598 test "$?abc" != 1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
599 EOSS
bce86c4163a3 Initial revision
kono
parents:
diff changeset
600
bce86c4163a3 Initial revision
kono
parents:
diff changeset
601 chmod +x try
bce86c4163a3 Initial revision
kono
parents:
diff changeset
602 $eunicefix try
bce86c4163a3 Initial revision
kono
parents:
diff changeset
603 if try; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
604 echo "Yup, it does."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
605 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
606 echo "Nope. You may have to fix up the shell scripts to make sure sh runs them."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
607 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
608 rm -f try today
bce86c4163a3 Initial revision
kono
parents:
diff changeset
609
bce86c4163a3 Initial revision
kono
parents:
diff changeset
610 #: see if sprintf is declared as int or pointer to char
bce86c4163a3 Initial revision
kono
parents:
diff changeset
611 #echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
612 #cat >.ucbsprf.c <<'EOF'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
613 #main() { char buf[10]; exit((unsigned long)sprintf(buf,"%s","foo") > 10L); }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
614 #EOF
bce86c4163a3 Initial revision
kono
parents:
diff changeset
615 #if cc .ucbsprf.c -o .ucbsprf >/dev/null 2>&1 && .ucbsprf; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
616 # echo "Your sprintf() returns (int)."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
617 # d_charsprf="$undef"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
618 #else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
619 # echo "Your sprintf() returns (char*)."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
620 # d_charsprf="$define"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
621 #fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
622 #/bin/rm -f .ucbsprf.c .ucbsprf
bce86c4163a3 Initial revision
kono
parents:
diff changeset
623
bce86c4163a3 Initial revision
kono
parents:
diff changeset
624 : see if we can have long filenames
bce86c4163a3 Initial revision
kono
parents:
diff changeset
625 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
626 rm -f 123456789abcde
bce86c4163a3 Initial revision
kono
parents:
diff changeset
627 if (echo hi >123456789abcdef) 2>/dev/null; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
628 : not version 8
bce86c4163a3 Initial revision
kono
parents:
diff changeset
629 if test -f 123456789abcde; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
630 echo 'You cannot have filenames longer than 14 characters. Sigh.'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
631 d_flexfnam="$undef"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
632 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
633 echo 'You can have filenames longer than 14 characters.'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
634 d_flexfnam="$define"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
635 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
636 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
637 : version 8 probably
bce86c4163a3 Initial revision
kono
parents:
diff changeset
638 echo "You can't have filenames longer than 14 chars. V8 can't even think about them!"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
639 d_flexfnam="$undef"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
640 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
641 : index or strcpy
bce86c4163a3 Initial revision
kono
parents:
diff changeset
642 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
643 case "$d_index" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
644 n) dflt=n;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
645 *) dflt=y;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
646 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
647 if $contains '^index$' libc.list >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
648 if $contains '^strchr$' libc.list >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
649 echo "Your system has both index() and strchr(). Shall I use"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
650 rp="index() rather than strchr()? [$dflt]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
651 $echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
652 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
653 case "$ans" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
654 n*) d_index="$define" ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
655 *) d_index="$undef" ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
656 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
657 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
658 d_index="$undef"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
659 echo "index() found."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
660 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
661 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
662 if $contains '^strchr$' libc.list >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
663 d_index="$define"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
664 echo "strchr() found."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
665 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
666 echo "No index() or strchr() found!"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
667 d_index="$undef"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
668 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
669 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
670
bce86c4163a3 Initial revision
kono
parents:
diff changeset
671 : see if signal is declared as pointer to function returning int or void
bce86c4163a3 Initial revision
kono
parents:
diff changeset
672 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
673 if $contains 'void.*signal' /usr/include/signal.h >/dev/null 2>&1 ||
bce86c4163a3 Initial revision
kono
parents:
diff changeset
674 $contains 'void.*signal' /usr/include/sys/signal.h >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
675 echo "You have void (*signal())() instead of int."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
676 d_voidsig="$define"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
677 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
678 echo "You have int (*signal())() instead of void."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
679 d_voidsig="$undef"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
680 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
681
bce86c4163a3 Initial revision
kono
parents:
diff changeset
682 : check for directory library
bce86c4163a3 Initial revision
kono
parents:
diff changeset
683 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
684 if test -f /usr/include/dirent.h; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
685 echo "You have dirent.h."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
686 d_dirheader="#define DIRENT"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
687 elif test -f /usr/include/ndir.h; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
688 echo "You have ndir.h."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
689 d_dirheader="#define USG"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
690 elif test -f /usr/include/sys/ndir.h; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
691 echo "You have sys/ndir.h."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
692 d_dirheader="#define SYSNDIR
bce86c4163a3 Initial revision
kono
parents:
diff changeset
693 #define USG"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
694 elif test -f /usr/include/sys/dir.h; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
695 echo "You have sys/dir.h; I hope that's the BSD version."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
696 d_dirheader="#define SYSDIR"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
697 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
698 echo "I can't find a directory library header file.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
699 That means you won't have numbered backups available."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
700 d_dirheader="#define NODIR"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
701 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
702
bce86c4163a3 Initial revision
kono
parents:
diff changeset
703 : check for unistd.h
bce86c4163a3 Initial revision
kono
parents:
diff changeset
704 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
705 if test -f /usr/include/unistd.h; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
706 echo "You have unistd.h."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
707 d_unistd="$define"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
708 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
709 echo "I don't see unistd.h, but that's OK."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
710 d_unistd="$undef"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
711 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
712
bce86c4163a3 Initial revision
kono
parents:
diff changeset
713 : check for void type
bce86c4163a3 Initial revision
kono
parents:
diff changeset
714 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
715 $cat <<EOM
bce86c4163a3 Initial revision
kono
parents:
diff changeset
716 Checking to see how well your C compiler groks the void type...
bce86c4163a3 Initial revision
kono
parents:
diff changeset
717
bce86c4163a3 Initial revision
kono
parents:
diff changeset
718 Support flag bits are:
bce86c4163a3 Initial revision
kono
parents:
diff changeset
719 1: basic void declarations.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
720 2: arrays of pointers to functions returning void.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
721 4: operations between pointers to and addresses of void functions.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
722
bce86c4163a3 Initial revision
kono
parents:
diff changeset
723 EOM
bce86c4163a3 Initial revision
kono
parents:
diff changeset
724 case "$voidflags" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
725 '')
bce86c4163a3 Initial revision
kono
parents:
diff changeset
726 $cat >try.c <<'EOCP'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
727 #if TRY & 1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
728 void main() {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
729 #else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
730 main() {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
731 #endif
bce86c4163a3 Initial revision
kono
parents:
diff changeset
732 extern void *moo();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
733 void *(*goo)();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
734 #if TRY & 2
bce86c4163a3 Initial revision
kono
parents:
diff changeset
735 void (*foo[10])();
bce86c4163a3 Initial revision
kono
parents:
diff changeset
736 #endif
bce86c4163a3 Initial revision
kono
parents:
diff changeset
737
bce86c4163a3 Initial revision
kono
parents:
diff changeset
738 #if TRY & 4
bce86c4163a3 Initial revision
kono
parents:
diff changeset
739 if(*goo == moo) {
bce86c4163a3 Initial revision
kono
parents:
diff changeset
740 exit(0);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
741 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
742 #endif
bce86c4163a3 Initial revision
kono
parents:
diff changeset
743 exit(0);
bce86c4163a3 Initial revision
kono
parents:
diff changeset
744 }
bce86c4163a3 Initial revision
kono
parents:
diff changeset
745 EOCP
bce86c4163a3 Initial revision
kono
parents:
diff changeset
746 : Argh -- AIX 3.2 does not have cc -S!
bce86c4163a3 Initial revision
kono
parents:
diff changeset
747 if cc -c -DTRY=7 try.c >.out 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
748 voidflags=7
bce86c4163a3 Initial revision
kono
parents:
diff changeset
749 echo "It appears to support void fully."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
750 if $contains warning .out >/dev/null 2>&1; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
751 echo "However, you might get some warnings that look like this:"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
752 $cat .out
bce86c4163a3 Initial revision
kono
parents:
diff changeset
753 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
754 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
755 echo "Hmm, you compiler has some difficulty with void. Checking further..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
756 if cc -c -DTRY=1 try.c >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
757 echo "It supports 1..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
758 if cc -c -DTRY=3 try.c >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
759 voidflags=3
bce86c4163a3 Initial revision
kono
parents:
diff changeset
760 echo "And it supports 2 but not 4."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
761 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
762 echo "It doesn't support 2..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
763 if cc -c -DTRY=3 try.c >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
764 voidflags=5
bce86c4163a3 Initial revision
kono
parents:
diff changeset
765 echo "But it supports 4."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
766 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
767 voidflags=1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
768 echo "And it doesn't support 4."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
769 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
770 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
771 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
772 echo "There is no support at all for void."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
773 voidflags=0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
774 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
775 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
776 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
777 dflt="$voidflags";
bce86c4163a3 Initial revision
kono
parents:
diff changeset
778 rp="Your void support flags add up to what? [$dflt]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
779 $echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
780 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
781 voidflags="$ans"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
782 $rm -f try.* .out
bce86c4163a3 Initial revision
kono
parents:
diff changeset
783
bce86c4163a3 Initial revision
kono
parents:
diff changeset
784 : see how we invoke the C preprocessor
bce86c4163a3 Initial revision
kono
parents:
diff changeset
785 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
786 echo "Now, how can we feed standard input to your C preprocessor..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
787 cat <<'EOT' >testcpp.c
bce86c4163a3 Initial revision
kono
parents:
diff changeset
788 #define ABC abc
bce86c4163a3 Initial revision
kono
parents:
diff changeset
789 #define XYZ xyz
bce86c4163a3 Initial revision
kono
parents:
diff changeset
790 ABC.XYZ
bce86c4163a3 Initial revision
kono
parents:
diff changeset
791 EOT
bce86c4163a3 Initial revision
kono
parents:
diff changeset
792 echo 'Maybe "'$cpp'" will work...'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
793 $cpp <testcpp.c >testcpp.out 2>&1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
794 if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
795 echo "Yup, it does."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
796 cppstdin="$cpp"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
797 cppminus='';
bce86c4163a3 Initial revision
kono
parents:
diff changeset
798 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
799 echo 'Nope, maybe "'$cpp' -" will work...'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
800 $cpp - <testcpp.c >testcpp.out 2>&1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
801 if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
802 echo "Yup, it does."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
803 cppstdin="$cpp"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
804 cppminus='-';
bce86c4163a3 Initial revision
kono
parents:
diff changeset
805 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
806 echo 'No such luck...maybe "cc -E" will work...'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
807 cc -E <testcpp.c >testcpp.out 2>&1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
808 if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
809 echo "It works!"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
810 cppstdin='cc -E'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
811 cppminus='';
bce86c4163a3 Initial revision
kono
parents:
diff changeset
812 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
813 echo 'Nixed again...maybe "cc -E -" will work...'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
814 cc -E - <testcpp.c >testcpp.out 2>&1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
815 if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
816 echo "Hooray, it works! I was beginning to wonder."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
817 cppstdin='cc -E'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
818 cppminus='-';
bce86c4163a3 Initial revision
kono
parents:
diff changeset
819 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
820 echo 'Nope...maybe "cc -P" will work...'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
821 cc -P <testcpp.c >testcpp.out 2>&1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
822 if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
823 echo "Yup, that does."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
824 cppstdin='cc -P'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
825 cppminus='';
bce86c4163a3 Initial revision
kono
parents:
diff changeset
826 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
827 echo 'Nope...maybe "cc -P -" will work...'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
828 cc -P - <testcpp.c >testcpp.out 2>&1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
829 if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
830 echo "Yup, that does."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
831 cppstdin='cc -P'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
832 cppminus='-';
bce86c4163a3 Initial revision
kono
parents:
diff changeset
833 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
834 echo 'Hmm...perhaps you already told me...'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
835 case "$cppstdin" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
836 '') ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
837 *) $cppstdin $cppminus <testcpp.c >testcpp.out 2>&1;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
838 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
839 if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
840 echo "Hooray, you did! I was beginning to wonder."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
841 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
842 echo 'Uh-uh. Time to get fancy...'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
843 echo 'Trying (cat >/tmp/$$.c; cc -E /tmp/$$.c; rm /tmp/$$.c)'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
844 cppstdin='(cat >/tmp/$$.c; cc -E /tmp/$$.c; rm /tmp/$$.c)'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
845 cppminus='';
bce86c4163a3 Initial revision
kono
parents:
diff changeset
846 $cppstdin <testcpp.c >testcpp.out 2>&1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
847 if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
848 echo "Eureka!."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
849 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
850 dflt=blurfl
bce86c4163a3 Initial revision
kono
parents:
diff changeset
851 $echo $n "No dice. I can't find a C preprocessor. Name one: $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
852 rp='Name a C preprocessor:'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
853 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
854 cppstdin="$ans"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
855 $cppstdin <testcpp.c >testcpp.out 2>&1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
856 if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
857 echo "OK, that will do."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
858 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
859 echo "Sorry, I can't get that to work. Go find one."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
860 exit 1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
861 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
862 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
863 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
864 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
865 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
866 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
867 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
868 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
869 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
870 rm -f testcpp.c testcpp.out
bce86c4163a3 Initial revision
kono
parents:
diff changeset
871
bce86c4163a3 Initial revision
kono
parents:
diff changeset
872 : get C preprocessor symbols handy
bce86c4163a3 Initial revision
kono
parents:
diff changeset
873 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
874 : AIX 3.2 rejects tr '[ - ]' because the range endpoints are the same.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
875 echo $attrlist | $tr ' ' '\012' >Cppsym.know
bce86c4163a3 Initial revision
kono
parents:
diff changeset
876 $cat <<EOSS >Cppsym
bce86c4163a3 Initial revision
kono
parents:
diff changeset
877 $startsh
bce86c4163a3 Initial revision
kono
parents:
diff changeset
878 case "\$1" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
879 -l) list=true
bce86c4163a3 Initial revision
kono
parents:
diff changeset
880 shift
bce86c4163a3 Initial revision
kono
parents:
diff changeset
881 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
882 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
883 unknown=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
884 case "\$list\$#" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
885 1|2)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
886 for sym do
bce86c4163a3 Initial revision
kono
parents:
diff changeset
887 if $contains "^\$1$" Cppsym.true >/dev/null 2>&1; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
888 exit 0
bce86c4163a3 Initial revision
kono
parents:
diff changeset
889 elif $contains "^\$1$" Cppsym.know >/dev/null 2>&1; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
890 :
bce86c4163a3 Initial revision
kono
parents:
diff changeset
891 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
892 unknown="\$unknown \$sym"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
893 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
894 done
bce86c4163a3 Initial revision
kono
parents:
diff changeset
895 set X \$unknown
bce86c4163a3 Initial revision
kono
parents:
diff changeset
896 shift
bce86c4163a3 Initial revision
kono
parents:
diff changeset
897 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
898 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
899 case \$# in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
900 0) exit 1;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
901 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
902 echo \$* | $tr ' ' '\012' | $sed -e 's/\(.*\)/\\
bce86c4163a3 Initial revision
kono
parents:
diff changeset
903 #ifdef \1\\
bce86c4163a3 Initial revision
kono
parents:
diff changeset
904 exit 0; _ _ _ _\1\\ \1\\
bce86c4163a3 Initial revision
kono
parents:
diff changeset
905 #endif\\
bce86c4163a3 Initial revision
kono
parents:
diff changeset
906 /' >/tmp/Cppsym\$\$
bce86c4163a3 Initial revision
kono
parents:
diff changeset
907 echo exit 1 >>/tmp/Cppsym\$\$
bce86c4163a3 Initial revision
kono
parents:
diff changeset
908 $cppstdin $cppminus </tmp/Cppsym\$\$ >/tmp/Cppsym2\$\$
bce86c4163a3 Initial revision
kono
parents:
diff changeset
909 case "\$list" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
910 true) awk 'NF > 5 {print substr(\$6,2,100)}' </tmp/Cppsym2\$\$ ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
911 *)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
912 sh /tmp/Cppsym2\$\$
bce86c4163a3 Initial revision
kono
parents:
diff changeset
913 status=\$?
bce86c4163a3 Initial revision
kono
parents:
diff changeset
914 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
915 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
916 $rm -f /tmp/Cppsym\$\$ /tmp/Cppsym2\$\$
bce86c4163a3 Initial revision
kono
parents:
diff changeset
917 exit \$status
bce86c4163a3 Initial revision
kono
parents:
diff changeset
918 EOSS
bce86c4163a3 Initial revision
kono
parents:
diff changeset
919 chmod +x Cppsym
bce86c4163a3 Initial revision
kono
parents:
diff changeset
920 $eunicefix Cppsym
bce86c4163a3 Initial revision
kono
parents:
diff changeset
921 echo "Your C preprocessor defines the following symbols:"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
922 Cppsym -l $attrlist >Cppsym.true
bce86c4163a3 Initial revision
kono
parents:
diff changeset
923 cat Cppsym.true
bce86c4163a3 Initial revision
kono
parents:
diff changeset
924 rmlist="$rmlist Cppsym Cppsym.know Cppsym.true"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
925
bce86c4163a3 Initial revision
kono
parents:
diff changeset
926 : see how many register declarations we want to use
bce86c4163a3 Initial revision
kono
parents:
diff changeset
927 case "$registers" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
928 '')
bce86c4163a3 Initial revision
kono
parents:
diff changeset
929 if Cppsym vax; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
930 dflt=6
bce86c4163a3 Initial revision
kono
parents:
diff changeset
931 elif Cppsym sun mc68000 mc68k m68k; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
932 dflt=10
bce86c4163a3 Initial revision
kono
parents:
diff changeset
933 elif Cppsym pyr; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
934 dflt=14
bce86c4163a3 Initial revision
kono
parents:
diff changeset
935 elif Cppsym ns32000 ns16000; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
936 dflt=5
bce86c4163a3 Initial revision
kono
parents:
diff changeset
937 elif Cppsym $smallmach; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
938 dflt=3
bce86c4163a3 Initial revision
kono
parents:
diff changeset
939 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
940 : if you have any other numbers for me, send them in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
941 dflt=6
bce86c4163a3 Initial revision
kono
parents:
diff changeset
942 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
943 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
944 *) dflt=$registers ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
945 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
946 cat <<EOM
bce86c4163a3 Initial revision
kono
parents:
diff changeset
947
bce86c4163a3 Initial revision
kono
parents:
diff changeset
948 Different C compilers on different machines pay attention to different
bce86c4163a3 Initial revision
kono
parents:
diff changeset
949 numbers of register declarations. About how many register declarations in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
950 EOM
bce86c4163a3 Initial revision
kono
parents:
diff changeset
951 $echo $n "each routine does your C compiler pay attention to? (OK to guess) [$dflt] $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
952 rp="# register declarations used? [$dflt]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
953 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
954 registers=$ans
bce86c4163a3 Initial revision
kono
parents:
diff changeset
955 reg1=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
956 awk "BEGIN { for (i=1; i<=16; i++) printf \"reg%d=''\n\", i}" </dev/null >.foo
bce86c4163a3 Initial revision
kono
parents:
diff changeset
957 . .foo
bce86c4163a3 Initial revision
kono
parents:
diff changeset
958 awk "BEGIN { for (i=1; i<=$registers; i++) printf \"reg%d=register\n\", i}" \
bce86c4163a3 Initial revision
kono
parents:
diff changeset
959 </dev/null >.foo
bce86c4163a3 Initial revision
kono
parents:
diff changeset
960 . .foo
bce86c4163a3 Initial revision
kono
parents:
diff changeset
961 rm -f .foo
bce86c4163a3 Initial revision
kono
parents:
diff changeset
962
bce86c4163a3 Initial revision
kono
parents:
diff changeset
963 : preserve RCS keywords in files with variable substitution, grrr
bce86c4163a3 Initial revision
kono
parents:
diff changeset
964 Log='$Log'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
965 Header='$Header'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
966
bce86c4163a3 Initial revision
kono
parents:
diff changeset
967 : set up shell script to do ~ expansion
bce86c4163a3 Initial revision
kono
parents:
diff changeset
968 cat >filexp <<EOSS
bce86c4163a3 Initial revision
kono
parents:
diff changeset
969 $startsh
bce86c4163a3 Initial revision
kono
parents:
diff changeset
970 : expand filename
bce86c4163a3 Initial revision
kono
parents:
diff changeset
971 case "\$1" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
972 ~/*|~)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
973 echo \$1 | $sed "s|~|\${HOME-\$LOGDIR}|"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
974 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
975 ~*)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
976 if $test -f /bin/csh; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
977 /bin/csh -f -c "glob \$1"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
978 echo ""
bce86c4163a3 Initial revision
kono
parents:
diff changeset
979 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
980 name=\`$expr x\$1 : '..\([^/]*\)'\`
bce86c4163a3 Initial revision
kono
parents:
diff changeset
981 dir=\`$sed -n -e "/^\${name}:/{s/^[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\([^:]*\).*"'\$'"/\1/" -e p -e q -e '}' </etc/passwd\`
bce86c4163a3 Initial revision
kono
parents:
diff changeset
982 if $test ! -d "\$dir"; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
983 me=\`basename \$0\`
bce86c4163a3 Initial revision
kono
parents:
diff changeset
984 echo "\$me: can't locate home directory for: \$name" >&2
bce86c4163a3 Initial revision
kono
parents:
diff changeset
985 exit 1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
986 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
987 case "\$1" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
988 */*)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
989 echo \$dir/\`$expr x\$1 : '..[^/]*/\(.*\)'\`
bce86c4163a3 Initial revision
kono
parents:
diff changeset
990 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
991 *)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
992 echo \$dir
bce86c4163a3 Initial revision
kono
parents:
diff changeset
993 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
994 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
995 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
996 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
997 *)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
998 echo \$1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
999 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1000 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1001 EOSS
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1002 chmod +x filexp
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1003 $eunicefix filexp
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1004
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1005 : determine where public executables go
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1006 case "$bin" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1007 '')
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1008 dflt=`loc . /bin /usr/local/bin /usr/lbin /usr/local /usr/bin`
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1009 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1010 *) dflt="$bin"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1011 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1012 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1013 cont=true
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1014 while $test "$cont" ; do
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1015 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1016 rp="Where do you want to put the public executables? [$dflt]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1017 $echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1018 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1019 bin="$ans"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1020 bin=`filexp $bin`
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1021 if test -d $bin; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1022 cont=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1023 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1024 dflt=n
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1025 rp="Directory $bin doesn't exist. Use that name anyway? [$dflt]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1026 $echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1027 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1028 dflt=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1029 case "$ans" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1030 y*) cont='';;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1031 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1032 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1033 done
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1034
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1035 : determine where manual pages go
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1036 case "$mansrc" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1037 '')
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1038 dflt=`loc . /usr/man/man1 /usr/local/man/man1 /usr/man/mann /usr/man/local/man1 /usr/man/u_man/man1`
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1039 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1040 *) dflt="$mansrc"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1041 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1042 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1043 cont=true
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1044 while $test "$cont" ; do
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1045 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1046 rp="Where do the manual pages (source) go? [$dflt]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1047 $echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1048 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1049 mansrc=`filexp "$ans"`
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1050 if test -d $mansrc; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1051 cont=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1052 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1053 dflt=n
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1054 rp="Directory $mansrc doesn't exist. Use that name anyway? [$dflt]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1055 $echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1056 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1057 dflt=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1058 case "$ans" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1059 y*) cont='';;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1060 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1061 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1062 done
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1063 case "$mansrc" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1064 *l)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1065 manext=l
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1066 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1067 *n)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1068 manext=n
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1069 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1070 *C)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1071 manext=C
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1072 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1073 *)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1074 manext=1
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1075 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1076 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1077
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1078 : see what memory models we can support
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1079 case "$models" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1080 '')
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1081 if Cppsym pdp11; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1082 dflt='unsplit split'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1083 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1084 ans=`loc . X /lib/small /lib/large /usr/lib/small /usr/lib/large /lib/medium /usr/lib/medium /lib/huge`
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1085 case "$ans" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1086 X) dflt='none';;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1087 *) if $test -d /lib/small || $test -d /usr/lib/small; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1088 dflt='small'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1089 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1090 dflt=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1091 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1092 if $test -d /lib/medium || $test -d /usr/lib/medium; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1093 dflt="$dflt medium"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1094 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1095 if $test -d /lib/large || $test -d /usr/lib/large; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1096 dflt="$dflt large"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1097 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1098 if $test -d /lib/huge || $test -d /usr/lib/huge; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1099 dflt="$dflt huge"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1100 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1101 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1102 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1103 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1104 *) dflt="$models" ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1105 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1106 $cat <<EOM
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1107
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1108 Some systems have different model sizes. On most systems they are called
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1109 small, medium, large, and huge. On the PDP11 they are called unsplit and
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1110 split. If your system doesn't support different memory models, say "none".
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1111 If you wish to force everything to one memory model, say "none" here and
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1112 put the appropriate flags later when it asks you for other cc and ld flags.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1113 Venix systems may wish to put "none" and let the compiler figure things out.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1114 (In the following question multiple model names should be space separated.)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1115
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1116 EOM
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1117 rp="Which models are supported? [$dflt]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1118 $echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1119 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1120 models="$ans"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1121
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1122 case "$models" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1123 none)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1124 small=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1125 medium=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1126 large=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1127 huge=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1128 unsplit=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1129 split=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1130 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1131 *split)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1132 case "$split" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1133 '')
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1134 if $contains '-i' $mansrc/ld.1 >/dev/null 2>&1 || \
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1135 $contains '-i' $mansrc/cc.1 >/dev/null 2>&1; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1136 dflt='-i'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1137 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1138 dflt='none'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1139 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1140 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1141 *) dflt="$split";;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1142 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1143 rp="What flag indicates separate I and D space? [$dflt]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1144 $echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1145 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1146 case "$ans" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1147 none) ans='';;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1148 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1149 split="$ans"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1150 unsplit=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1151 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1152 *large*|*small*|*medium*|*huge*)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1153 case "$model" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1154 *large*)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1155 case "$large" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1156 '') dflt='-Ml';;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1157 *) dflt="$large";;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1158 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1159 rp="What flag indicates large model? [$dflt]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1160 $echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1161 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1162 case "$ans" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1163 none) ans='';
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1164 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1165 large="$ans"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1166 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1167 *) large='';;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1168 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1169 case "$model" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1170 *huge*)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1171 case "$huge" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1172 '') dflt='-Mh';;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1173 *) dflt="$huge";;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1174 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1175 rp="What flag indicates huge model? [$dflt]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1176 $echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1177 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1178 case "$ans" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1179 none) ans='';
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1180 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1181 huge="$ans"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1182 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1183 *) huge="$large";;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1184 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1185 case "$model" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1186 *medium*)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1187 case "$medium" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1188 '') dflt='-Mm';;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1189 *) dflt="$medium";;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1190 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1191 rp="What flag indicates medium model? [$dflt]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1192 $echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1193 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1194 case "$ans" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1195 none) ans='';
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1196 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1197 medium="$ans"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1198 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1199 *) medium="$large";;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1200 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1201 case "$model" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1202 *small*)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1203 case "$small" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1204 '') dflt='none';;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1205 *) dflt="$small";;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1206 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1207 rp="What flag indicates small model? [$dflt]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1208 $echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1209 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1210 case "$ans" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1211 none) ans='';
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1212 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1213 small="$ans"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1214 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1215 *) small='';;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1216 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1217 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1218 *)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1219 echo "Unrecognized memory models--you may have to edit Makefile.SH"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1220 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1221 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1222
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1223 case "$ccflags" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1224 '') dflt='none';;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1225 *) dflt="$ccflags";;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1226 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1227 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1228 rp="Any additional cc flags? [$dflt]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1229 $echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1230 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1231 case "$ans" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1232 none) ans='';
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1233 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1234 ccflags="$ans"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1235
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1236 case "$ldflags" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1237 '') if venix; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1238 dflt='-i -z'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1239 elif xenix; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1240 if test -f /usr/include/dirent.h; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1241 dflt='-ldir -lx'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1242 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1243 dflt='-lx'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1244 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1245 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1246 dflt='none'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1247 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1248 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1249 *) dflt="$ldflags";;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1250 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1251 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1252 rp="Any additional ld flags? [$dflt]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1253 $echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1254 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1255 case "$ans" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1256 none) ans='';
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1257 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1258 ldflags="$ans"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1259
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1260 : see if we need a special compiler
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1261 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1262 if usg; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1263 case "$cc" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1264 '')
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1265 case "$Mcc" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1266 /*) dflt='Mcc'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1267 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1268 *)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1269 case "$large" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1270 -M*)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1271 dflt='cc'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1272 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1273 *)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1274 if $contains '\-M' $mansrc/cc.1 >/dev/null 2>&1 ; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1275 dflt='cc -M'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1276 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1277 dflt='cc'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1278 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1279 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1280 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1281 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1282 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1283 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1284 *) dflt="$cc";;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1285 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1286 $cat <<'EOM'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1287
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1288 On some systems the default C compiler will not resolve multiple global
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1289 references that happen to have the same name. On some such systems the
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1290 "Mcc" command may be used to force these to be resolved. On other systems
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1291 a "cc -M" command is required. (Note that the -M flag on other systems
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1292 indicates a memory model to use!) What command will force resolution on
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1293 EOM
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1294 $echo $n "this system? [$dflt] $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1295 rp="Command to resolve multiple refs? [$dflt]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1296 . myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1297 cc="$ans"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1298 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1299 echo "Not a USG system--assuming cc can resolve multiple definitions."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1300 cc=cc
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1301 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1302
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1303 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1304 echo "End of configuration questions."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1305 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1306
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1307 : create config.sh file
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1308 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1309 if test -d ../UU; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1310 cd ..
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1311 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1312 echo "Creating config.sh..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1313 $spitshell <<EOT >config.sh
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1314 $startsh
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1315 # config.sh
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1316 # This file was produced by running the Configure script.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1317
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1318 d_eunice='$d_eunice'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1319 eunicefix='$eunicefix'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1320 define='$define'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1321 loclist='$loclist'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1322 expr='$expr'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1323 sed='$sed'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1324 echo='$echo'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1325 cat='$cat'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1326 rm='$rm'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1327 mv='$mv'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1328 cp='$cp'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1329 tail='$tail'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1330 tr='$tr'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1331 mkdir='$mkdir'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1332 sort='$sort'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1333 uniq='$uniq'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1334 grep='$grep'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1335 trylist='$trylist'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1336 test='$test'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1337 inews='$inews'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1338 egrep='$egrep'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1339 more='$more'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1340 pg='$pg'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1341 Mcc='$Mcc'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1342 vi='$vi'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1343 mailx='$mailx'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1344 mail='$mail'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1345 cpp='$cpp'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1346 Log='$Log'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1347 Header='$Header'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1348 bin='$bin'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1349 cc='$cc'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1350 contains='$contains'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1351 cppstdin='$cppstdin'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1352 cppminus='$cppminus'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1353 d_charsprf='$d_charsprf'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1354 d_flexfnam='$d_flexfnam'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1355 d_index='$d_index'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1356 d_voidsig='$d_voidsig'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1357 d_dirheader='$d_dirheader'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1358 d_unistd='$d_unistd'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1359 libc='$libc'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1360 mansrc='$mansrc'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1361 manext='$manext'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1362 models='$models'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1363 split='$split'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1364 small='$small'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1365 medium='$medium'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1366 large='$large'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1367 huge='$huge'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1368 ccflags='$ccflags'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1369 ldflags='$ldflags'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1370 n='$n'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1371 c='$c'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1372 package='$package'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1373 registers='$registers'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1374 reg1='$reg1'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1375 reg2='$reg2'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1376 reg3='$reg3'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1377 reg4='$reg4'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1378 reg5='$reg5'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1379 reg6='$reg6'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1380 reg7='$reg7'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1381 reg8='$reg8'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1382 reg9='$reg9'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1383 reg10='$reg10'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1384 reg11='$reg11'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1385 reg12='$reg12'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1386 reg13='$reg13'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1387 reg14='$reg14'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1388 reg15='$reg15'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1389 reg16='$reg16'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1390 spitshell='$spitshell'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1391 shsharp='$shsharp'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1392 sharpbang='$sharpbang'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1393 startsh='$startsh'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1394 voidflags='$voidflags'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1395 defvoidused='$defvoidused'
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1396 CONFIG=true
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1397 EOT
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1398
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1399 CONFIG=true
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1400
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1401 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1402 dflt=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1403 fastread=''
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1404 echo "If you didn't make any mistakes, then just type a carriage return here."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1405 rp="If you need to edit config.sh, do it as a shell escape here:"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1406 $echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1407 . UU/myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1408 case "$ans" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1409 '') ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1410 *) : in case they cannot read
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1411 eval $ans;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1412 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1413 . ./config.sh
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1414
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1415 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1416 echo "Doing variable substitutions on .SH files..."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1417 set x `awk '{print $1}' <MANIFEST | $grep '\.SH'`
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1418 shift
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1419 case $# in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1420 0) set x *.SH; shift;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1421 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1422 if test ! -f $1; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1423 shift
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1424 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1425 for file in $*; do
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1426 case "$file" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1427 */*)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1428 dir=`$expr X$file : 'X\(.*\)/'`
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1429 file=`$expr X$file : 'X.*/\(.*\)'`
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1430 (cd $dir && . $file)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1431 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1432 *)
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1433 . $file
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1434 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1435 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1436 done
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1437 if test -f config.h.SH; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1438 if test ! -f config.h; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1439 : oops, they left it out of MANIFEST, probably, so do it anyway.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1440 . config.h.SH
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1441 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1442 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1443
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1444 if $contains '^depend:' Makefile >/dev/null 2>&1; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1445 dflt=n
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1446 $cat <<EOM
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1447
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1448 Now you need to generate make dependencies by running "make depend".
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1449 You might prefer to run it in background: "make depend > makedepend.out &"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1450 It can take a while, so you might not want to run it right now.
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1451
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1452 EOM
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1453 rp="Run make depend now? [$dflt]"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1454 $echo $n "$rp $c"
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1455 . UU/myread
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1456 case "$ans" in
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1457 y*) make depend
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1458 echo "Now you must run a make."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1459 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1460 *) echo "You must run 'make depend' then 'make'."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1461 ;;
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1462 esac
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1463 elif test -f Makefile; then
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1464 echo " "
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1465 echo "Now you must run a make."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1466 else
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1467 echo "Done."
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1468 fi
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1469
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1470 $rm -f kit*isdone
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1471 : the following is currently useless
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1472 cd UU && $rm -f $rmlist
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1473 : since this removes it all anyway
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1474 cd .. && $rm -rf UU
bce86c4163a3 Initial revision
kono
parents:
diff changeset
1475 : end of Configure