[gforth] / gforth / config.sub  

gforth: gforth/config.sub


1 : anton 1.2 #! /bin/sh
2 : anton 1.5 # Configuration validation subroutine script.
3 :     # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4 : anton 1.6 # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
5 :     # Inc.
6 : anton 1.5
7 : anton 1.7 timestamp='2007-06-28'
8 : anton 1.5
9 : pazsan 1.1 # This file is (in principle) common to ALL GNU software.
10 :     # The presence of a machine in this file suggests that SOME GNU software
11 : pazsan 1.4 # can handle that machine. It does not imply ALL GNU software can.
12 : pazsan 1.1 #
13 :     # This file is free software; you can redistribute it and/or modify
14 :     # it under the terms of the GNU General Public License as published by
15 :     # the Free Software Foundation; either version 2 of the License, or
16 :     # (at your option) any later version.
17 :     #
18 :     # This program is distributed in the hope that it will be useful,
19 :     # but WITHOUT ANY WARRANTY; without even the implied warranty of
20 :     # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 :     # GNU General Public License for more details.
22 :     #
23 :     # You should have received a copy of the GNU General Public License
24 :     # along with this program; if not, write to the Free Software
25 : anton 1.6 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26 :     # 02110-1301, USA.
27 :     #
28 : pazsan 1.1 # As a special exception to the GNU General Public License, if you
29 :     # distribute this file as part of a program that contains a
30 :     # configuration script generated by Autoconf, you may include it under
31 :     # the same distribution terms that you use for the rest of that program.
32 :    
33 : anton 1.6
34 : anton 1.5 # Please send patches to <config-patches@gnu.org>. Submit a context
35 :     # diff and a properly formatted ChangeLog entry.
36 :     #
37 : pazsan 1.1 # Configuration subroutine to validate and canonicalize a configuration type.
38 :     # Supply the specified configuration type as an argument.
39 :     # If it is invalid, we print an error message on stderr and exit with code 1.
40 :     # Otherwise, we print the canonical config type on stdout and succeed.
41 :    
42 :     # This file is supposed to be the same for all GNU packages
43 :     # and recognize all the CPU types, system types and aliases
44 :     # that are meaningful with *any* GNU software.
45 :     # Each package is responsible for reporting which valid configurations
46 :     # it does not support. The user should be able to distinguish
47 :     # a failure to support a valid configuration from a meaningless
48 :     # configuration.
49 :    
50 :     # The goal of this file is to map all the various variations of a given
51 :     # machine specification into a single specification in the form:
52 :     # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
53 : pazsan 1.4 # or in some cases, the newer four-part form:
54 :     # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
55 : pazsan 1.1 # It is wrong to echo any other type of specification.
56 :    
57 : anton 1.5 me=`echo "$0" | sed -e 's,.*/,,'`
58 :    
59 :     usage="\
60 :     Usage: $0 [OPTION] CPU-MFR-OPSYS
61 :     $0 [OPTION] ALIAS
62 :    
63 :     Canonicalize a configuration name.
64 :    
65 :     Operation modes:
66 :     -h, --help print this help, then exit
67 :     -t, --time-stamp print date of last modification, then exit
68 :     -v, --version print version number, then exit
69 :    
70 :     Report bugs and patches to <config-patches@gnu.org>."
71 :    
72 :     version="\
73 :     GNU config.sub ($timestamp)
74 :    
75 : anton 1.6 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
76 : anton 1.5 Free Software Foundation, Inc.
77 :    
78 :     This is free software; see the source for copying conditions. There is NO
79 :     warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
80 :    
81 :     help="
82 :     Try \`$me --help' for more information."
83 :    
84 :     # Parse command line
85 :     while test $# -gt 0 ; do
86 :     case $1 in
87 :     --time-stamp | --time* | -t )
88 : anton 1.6 echo "$timestamp" ; exit ;;
89 : anton 1.5 --version | -v )
90 : anton 1.6 echo "$version" ; exit ;;
91 : anton 1.5 --help | --h* | -h )
92 : anton 1.6 echo "$usage"; exit ;;
93 : anton 1.5 -- ) # Stop option processing
94 :     shift; break ;;
95 :     - ) # Use stdin as input.
96 :     break ;;
97 :     -* )
98 :     echo "$me: invalid option $1$help"
99 :     exit 1 ;;
100 :    
101 :     *local*)
102 :     # First pass through any local machine types.
103 :     echo $1
104 : anton 1.6 exit ;;
105 : anton 1.5
106 :     * )
107 :     break ;;
108 :     esac
109 :     done
110 : anton 1.2
111 : anton 1.5 case $# in
112 :     0) echo "$me: missing argument$help" >&2
113 :     exit 1;;
114 :     1) ;;
115 :     *) echo "$me: too many arguments$help" >&2
116 :     exit 1;;
117 : pazsan 1.1 esac
118 :    
119 : pazsan 1.4 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
120 :     # Here we must recognize all the valid KERNEL-OS combinations.
121 :     maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
122 :     case $maybe_os in
123 : anton 1.6 nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
124 :     uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
125 :     storm-chaos* | os2-emx* | rtmk-nova*)
126 : pazsan 1.4 os=-$maybe_os
127 :     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
128 :     ;;
129 :     *)
130 :     basic_machine=`echo $1 | sed 's/-[^-]*$//'`
131 :     if [ $basic_machine != $1 ]
132 :     then os=`echo $1 | sed 's/.*-/-/'`
133 :     else os=; fi
134 :     ;;
135 :     esac
136 : pazsan 1.1
137 :     ### Let's recognize common machines as not being operating systems so
138 :     ### that things like config.sub decstation-3100 work. We also
139 :     ### recognize some manufacturers as not being operating systems, so we
140 :     ### can provide default operating systems below.
141 :     case $os in
142 :     -sun*os*)
143 :     # Prevent following clause from handling this invalid input.
144 :     ;;
145 :     -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
146 :     -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
147 :     -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
148 :     -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
149 :     -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
150 : pazsan 1.4 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
151 : anton 1.6 -apple | -axis | -knuth | -cray)
152 : pazsan 1.1 os=
153 :     basic_machine=$1
154 :     ;;
155 : anton 1.5 -sim | -cisco | -oki | -wec | -winbond)
156 :     os=
157 :     basic_machine=$1
158 :     ;;
159 :     -scout)
160 :     ;;
161 :     -wrs)
162 :     os=-vxworks
163 :     basic_machine=$1
164 :     ;;
165 :     -chorusos*)
166 :     os=-chorusos
167 :     basic_machine=$1
168 :     ;;
169 :     -chorusrdb)
170 :     os=-chorusrdb
171 :     basic_machine=$1
172 :     ;;
173 : pazsan 1.1 -hiux*)
174 :     os=-hiuxwe2
175 :     ;;
176 : anton 1.6 -sco6)
177 :     os=-sco5v6
178 :     basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
179 :     ;;
180 : pazsan 1.4 -sco5)
181 : anton 1.5 os=-sco3.2v5
182 : pazsan 1.4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
183 :     ;;
184 : pazsan 1.1 -sco4)
185 :     os=-sco3.2v4
186 : pazsan 1.4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
187 : pazsan 1.1 ;;
188 :     -sco3.2.[4-9]*)
189 :     os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
190 : pazsan 1.4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
191 : pazsan 1.1 ;;
192 :     -sco3.2v[4-9]*)
193 :     # Don't forget version if it is 3.2v4 or newer.
194 : pazsan 1.4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
195 : pazsan 1.1 ;;
196 : anton 1.6 -sco5v6*)
197 :     # Don't forget version if it is 3.2v4 or newer.
198 :     basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
199 :     ;;
200 : pazsan 1.1 -sco*)
201 :     os=-sco3.2v2
202 : pazsan 1.4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
203 : pazsan 1.1 ;;
204 : anton 1.5 -udk*)
205 :     basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
206 :     ;;
207 : pazsan 1.1 -isc)
208 :     os=-isc2.2
209 : pazsan 1.4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
210 : pazsan 1.1 ;;
211 :     -clix*)
212 :     basic_machine=clipper-intergraph
213 :     ;;
214 :     -isc*)
215 : pazsan 1.4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
216 : pazsan 1.1 ;;
217 : anton 1.2 -lynx*)
218 : pazsan 1.1 os=-lynxos
219 :     ;;
220 :     -ptx*)
221 :     basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
222 :     ;;
223 :     -windowsnt*)
224 :     os=`echo $os | sed -e 's/windowsnt/winnt/'`
225 :     ;;
226 : pazsan 1.4 -psos*)
227 :     os=-psos
228 :     ;;
229 : anton 1.5 -mint | -mint[0-9]*)
230 :     basic_machine=m68k-atari
231 :     os=-mint
232 :     ;;
233 : pazsan 1.1 esac
234 :    
235 :     # Decode aliases for certain CPU-COMPANY combinations.
236 :     case $basic_machine in
237 :     # Recognize the basic CPU types without company name.
238 :     # Some are omitted here because they have special meanings below.
239 : anton 1.5 1750a | 580 \
240 :     | a29k \
241 :     | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
242 :     | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
243 : anton 1.6 | am33_2.0 \
244 :     | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
245 :     | bfin \
246 :     | c4x | clipper \
247 : anton 1.5 | d10v | d30v | dlx | dsp16xx \
248 : anton 1.7 | fido | fr30 | frv \
249 : anton 1.5 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
250 :     | i370 | i860 | i960 | ia64 \
251 : anton 1.6 | ip2k | iq2000 \
252 :     | m32c | m32r | m32rle | m68000 | m68k | m88k \
253 : anton 1.7 | maxq | mb | microblaze | mcore | mep \
254 : anton 1.5 | mips | mipsbe | mipseb | mipsel | mipsle \
255 :     | mips16 \
256 :     | mips64 | mips64el \
257 :     | mips64vr | mips64vrel \
258 :     | mips64orion | mips64orionel \
259 :     | mips64vr4100 | mips64vr4100el \
260 :     | mips64vr4300 | mips64vr4300el \
261 :     | mips64vr5000 | mips64vr5000el \
262 : anton 1.6 | mips64vr5900 | mips64vr5900el \
263 : anton 1.5 | mipsisa32 | mipsisa32el \
264 : anton 1.6 | mipsisa32r2 | mipsisa32r2el \
265 : anton 1.5 | mipsisa64 | mipsisa64el \
266 : anton 1.6 | mipsisa64r2 | mipsisa64r2el \
267 : anton 1.5 | mipsisa64sb1 | mipsisa64sb1el \
268 :     | mipsisa64sr71k | mipsisa64sr71kel \
269 :     | mipstx39 | mipstx39el \
270 :     | mn10200 | mn10300 \
271 : anton 1.6 | mt \
272 :     | msp430 \
273 :     | nios | nios2 \
274 : anton 1.5 | ns16k | ns32k \
275 : anton 1.6 | or32 \
276 : anton 1.5 | pdp10 | pdp11 | pj | pjl \
277 :     | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
278 :     | pyramid \
279 : anton 1.6 | score \
280 :     | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
281 : anton 1.5 | sh64 | sh64le \
282 : anton 1.6 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
283 :     | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
284 :     | spu | strongarm \
285 :     | tahoe | thumb | tic4x | tic80 | tron \
286 : anton 1.5 | v850 | v850e \
287 :     | we32k \
288 : anton 1.6 | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
289 : anton 1.5 | z8k)
290 :     basic_machine=$basic_machine-unknown
291 :     ;;
292 :     m6811 | m68hc11 | m6812 | m68hc12)
293 :     # Motorola 68HC11/12.
294 : pazsan 1.1 basic_machine=$basic_machine-unknown
295 : anton 1.5 os=-none
296 :     ;;
297 :     m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
298 : pazsan 1.1 ;;
299 : anton 1.6 ms1)
300 :     basic_machine=mt-unknown
301 :     ;;
302 : anton 1.5
303 : pazsan 1.4 # We use `pc' rather than `unknown'
304 :     # because (1) that's what they normally are, and
305 :     # (2) the word "unknown" tends to confuse beginning users.
306 : anton 1.5 i*86 | x86_64)
307 : pazsan 1.4 basic_machine=$basic_machine-pc
308 :     ;;
309 : pazsan 1.1 # Object if more than one company name word.
310 :     *-*-*)
311 :     echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
312 :     exit 1
313 :     ;;
314 :     # Recognize the basic CPU types with company name.
315 : anton 1.5 580-* \
316 :     | a29k-* \
317 :     | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
318 :     | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
319 :     | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
320 :     | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
321 : anton 1.6 | avr-* | avr32-* \
322 :     | bfin-* | bs2000-* \
323 :     | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
324 :     | clipper-* | craynv-* | cydra-* \
325 : anton 1.5 | d10v-* | d30v-* | dlx-* \
326 :     | elxsi-* \
327 : anton 1.7 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
328 : anton 1.5 | h8300-* | h8500-* \
329 :     | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
330 :     | i*86-* | i860-* | i960-* | ia64-* \
331 : anton 1.6 | ip2k-* | iq2000-* \
332 :     | m32c-* | m32r-* | m32rle-* \
333 : anton 1.5 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
334 : anton 1.6 | m88110-* | m88k-* | maxq-* | mcore-* \
335 : anton 1.5 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
336 :     | mips16-* \
337 :     | mips64-* | mips64el-* \
338 :     | mips64vr-* | mips64vrel-* \
339 :     | mips64orion-* | mips64orionel-* \
340 :     | mips64vr4100-* | mips64vr4100el-* \
341 :     | mips64vr4300-* | mips64vr4300el-* \
342 :     | mips64vr5000-* | mips64vr5000el-* \
343 : anton 1.6 | mips64vr5900-* | mips64vr5900el-* \
344 : anton 1.5 | mipsisa32-* | mipsisa32el-* \
345 : anton 1.6 | mipsisa32r2-* | mipsisa32r2el-* \
346 : anton 1.5 | mipsisa64-* | mipsisa64el-* \
347 : anton 1.6 | mipsisa64r2-* | mipsisa64r2el-* \
348 : anton 1.5 | mipsisa64sb1-* | mipsisa64sb1el-* \
349 :     | mipsisa64sr71k-* | mipsisa64sr71kel-* \
350 : anton 1.6 | mipstx39-* | mipstx39el-* \
351 :     | mmix-* \
352 :     | mt-* \
353 :     | msp430-* \
354 :     | nios-* | nios2-* \
355 : anton 1.5 | none-* | np1-* | ns16k-* | ns32k-* \
356 :     | orion-* \
357 :     | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
358 :     | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
359 :     | pyramid-* \
360 :     | romp-* | rs6000-* \
361 : anton 1.6 | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
362 : anton 1.5 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
363 : anton 1.6 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
364 :     | sparclite-* \
365 :     | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
366 :     | tahoe-* | thumb-* \
367 :     | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
368 :     | tron-* \
369 : anton 1.5 | v850-* | v850e-* | vax-* \
370 :     | we32k-* \
371 : anton 1.6 | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
372 :     | xstormy16-* | xtensa-* \
373 : anton 1.5 | ymp-* \
374 :     | z8k-*)
375 : pazsan 1.1 ;;
376 :     # Recognize the various machine names and aliases which stand
377 :     # for a CPU type and a company and sometimes even an OS.
378 : anton 1.5 386bsd)
379 :     basic_machine=i386-unknown
380 :     os=-bsd
381 :     ;;
382 : pazsan 1.1 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
383 :     basic_machine=m68000-att
384 :     ;;
385 :     3b*)
386 :     basic_machine=we32k-att
387 :     ;;
388 : anton 1.5 a29khif)
389 :     basic_machine=a29k-amd
390 :     os=-udi
391 :     ;;
392 : anton 1.6 abacus)
393 :     basic_machine=abacus-unknown
394 :     ;;
395 : anton 1.5 adobe68k)
396 :     basic_machine=m68010-adobe
397 :     os=-scout
398 :     ;;
399 : pazsan 1.1 alliant | fx80)
400 :     basic_machine=fx80-alliant
401 :     ;;
402 :     altos | altos3068)
403 :     basic_machine=m68k-altos
404 :     ;;
405 :     am29k)
406 :     basic_machine=a29k-none
407 :     os=-bsd
408 :     ;;
409 : anton 1.6 amd64)
410 :     basic_machine=x86_64-pc
411 :     ;;
412 :     amd64-*)
413 :     basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
414 :     ;;
415 : pazsan 1.1 amdahl)
416 :     basic_machine=580-amdahl
417 :     os=-sysv
418 :     ;;
419 :     amiga | amiga-*)
420 : anton 1.5 basic_machine=m68k-unknown
421 : pazsan 1.1 ;;
422 : pazsan 1.4 amigaos | amigados)
423 : anton 1.5 basic_machine=m68k-unknown
424 : pazsan 1.4 os=-amigaos
425 : pazsan 1.1 ;;
426 :     amigaunix | amix)
427 : anton 1.5 basic_machine=m68k-unknown
428 : pazsan 1.1 os=-sysv4
429 :     ;;
430 :     apollo68)
431 :     basic_machine=m68k-apollo
432 :     os=-sysv
433 :     ;;
434 : anton 1.5 apollo68bsd)
435 :     basic_machine=m68k-apollo
436 :     os=-bsd
437 :     ;;
438 : pazsan 1.4 aux)
439 :     basic_machine=m68k-apple
440 :     os=-aux
441 :     ;;
442 : pazsan 1.1 balance)
443 :     basic_machine=ns32k-sequent
444 :     os=-dynix
445 :     ;;
446 : anton 1.5 c90)
447 :     basic_machine=c90-cray
448 :     os=-unicos
449 :     ;;
450 : pazsan 1.1 convex-c1)
451 :     basic_machine=c1-convex
452 :     os=-bsd
453 :     ;;
454 :     convex-c2)
455 :     basic_machine=c2-convex
456 :     os=-bsd
457 :     ;;
458 :     convex-c32)
459 :     basic_machine=c32-convex
460 :     os=-bsd
461 :     ;;
462 :     convex-c34)
463 :     basic_machine=c34-convex
464 :     os=-bsd
465 :     ;;
466 :     convex-c38)
467 :     basic_machine=c38-convex
468 :     os=-bsd
469 :     ;;
470 : anton 1.5 cray | j90)
471 :     basic_machine=j90-cray
472 : pazsan 1.4 os=-unicos
473 :     ;;
474 : anton 1.6 craynv)
475 :     basic_machine=craynv-cray
476 :     os=-unicosmp
477 :     ;;
478 : anton 1.7 cr16)
479 :     basic_machine=cr16-unknown
480 : anton 1.6 os=-elf
481 :     ;;
482 : pazsan 1.1 crds | unos)
483 :     basic_machine=m68k-crds
484 :     ;;
485 : anton 1.6 crisv32 | crisv32-* | etraxfs*)
486 :     basic_machine=crisv32-axis
487 :     ;;
488 : anton 1.5 cris | cris-* | etrax*)
489 :     basic_machine=cris-axis
490 :     ;;
491 : anton 1.6 crx)
492 :     basic_machine=crx-unknown
493 :     os=-elf
494 :     ;;
495 : pazsan 1.1 da30 | da30-*)
496 :     basic_machine=m68k-da30
497 :     ;;
498 :     decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
499 :     basic_machine=mips-dec
500 :     ;;
501 : anton 1.5 decsystem10* | dec10*)
502 :     basic_machine=pdp10-dec
503 :     os=-tops10
504 :     ;;
505 :     decsystem20* | dec20*)
506 :     basic_machine=pdp10-dec
507 :     os=-tops20
508 :     ;;
509 : pazsan 1.1 delta | 3300 | motorola-3300 | motorola-delta \
510 :     | 3300-motorola | delta-motorola)
511 :     basic_machine=m68k-motorola
512 :     ;;
513 :     delta88)
514 :     basic_machine=m88k-motorola
515 :     os=-sysv3
516 :     ;;
517 : anton 1.6 djgpp)
518 :     basic_machine=i586-pc
519 :     os=-msdosdjgpp
520 :     ;;
521 : pazsan 1.1 dpx20 | dpx20-*)
522 :     basic_machine=rs6000-bull
523 :     os=-bosx
524 :     ;;
525 :     dpx2* | dpx2*-bull)
526 :     basic_machine=m68k-bull
527 :     os=-sysv3
528 :     ;;
529 :     ebmon29k)
530 :     basic_machine=a29k-amd
531 :     os=-ebmon
532 :     ;;
533 :     elxsi)
534 :     basic_machine=elxsi-elxsi
535 :     os=-bsd
536 :     ;;
537 :     encore | umax | mmax)
538 :     basic_machine=ns32k-encore
539 :     ;;
540 : anton 1.5 es1800 | OSE68k | ose68k | ose | OSE)
541 :     basic_machine=m68k-ericsson
542 :     os=-ose
543 :     ;;
544 : pazsan 1.1 fx2800)
545 :     basic_machine=i860-alliant
546 :     ;;
547 :     genix)
548 :     basic_machine=ns32k-ns
549 :     ;;
550 :     gmicro)
551 :     basic_machine=tron-gmicro
552 :     os=-sysv
553 :     ;;
554 : anton 1.5 go32)
555 :     basic_machine=i386-pc
556 :     os=-go32
557 :     ;;
558 : pazsan 1.1 h3050r* | hiux*)
559 :     basic_machine=hppa1.1-hitachi
560 :     os=-hiuxwe2
561 :     ;;
562 :     h8300hms)
563 :     basic_machine=h8300-hitachi
564 :     os=-hms
565 :     ;;
566 : anton 1.5 h8300xray)
567 :     basic_machine=h8300-hitachi
568 :     os=-xray
569 :     ;;
570 :     h8500hms)
571 :     basic_machine=h8500-hitachi
572 :     os=-hms
573 :     ;;
574 : pazsan 1.1 harris)
575 :     basic_machine=m88k-harris
576 :     os=-sysv3
577 :     ;;
578 :     hp300-*)
579 :     basic_machine=m68k-hp
580 :     ;;
581 :     hp300bsd)
582 :     basic_machine=m68k-hp
583 :     os=-bsd
584 :     ;;
585 :     hp300hpux)
586 :     basic_machine=m68k-hp
587 :     os=-hpux
588 :     ;;
589 : anton 1.5 hp3k9[0-9][0-9] | hp9[0-9][0-9])
590 :     basic_machine=hppa1.0-hp
591 :     ;;
592 : pazsan 1.1 hp9k2[0-9][0-9] | hp9k31[0-9])
593 :     basic_machine=m68000-hp
594 :     ;;
595 :     hp9k3[2-9][0-9])
596 :     basic_machine=m68k-hp
597 :     ;;
598 : anton 1.5 hp9k6[0-9][0-9] | hp6[0-9][0-9])
599 :     basic_machine=hppa1.0-hp
600 :     ;;
601 :     hp9k7[0-79][0-9] | hp7[0-79][0-9])
602 :     basic_machine=hppa1.1-hp
603 :     ;;
604 :     hp9k78[0-9] | hp78[0-9])
605 :     # FIXME: really hppa2.0-hp
606 :     basic_machine=hppa1.1-hp
607 :     ;;
608 :     hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
609 :     # FIXME: really hppa2.0-hp
610 :     basic_machine=hppa1.1-hp
611 :     ;;
612 :     hp9k8[0-9][13679] | hp8[0-9][13679])
613 : pazsan 1.1 basic_machine=hppa1.1-hp
614 :     ;;
615 :     hp9k8[0-9][0-9] | hp8[0-9][0-9])
616 :     basic_machine=hppa1.0-hp
617 :     ;;
618 : pazsan 1.4 hppa-next)
619 :     os=-nextstep3
620 :     ;;
621 : anton 1.5 hppaosf)
622 :     basic_machine=hppa1.1-hp
623 :     os=-osf
624 :     ;;
625 :     hppro)
626 :     basic_machine=hppa1.1-hp
627 :     os=-proelf
628 :     ;;
629 : pazsan 1.1 i370-ibm* | ibm*)
630 :     basic_machine=i370-ibm
631 :     ;;
632 :     # I'm not sure what "Sysv32" means. Should this be sysv3.2?
633 : anton 1.5 i*86v32)
634 : pazsan 1.4 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
635 : pazsan 1.1 os=-sysv32
636 :     ;;
637 : anton 1.5 i*86v4*)
638 : pazsan 1.4 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
639 : pazsan 1.1 os=-sysv4
640 :     ;;
641 : anton 1.5 i*86v)
642 : pazsan 1.4 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
643 : pazsan 1.1 os=-sysv
644 :     ;;
645 : anton 1.5 i*86sol2)
646 : pazsan 1.4 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
647 : pazsan 1.1 os=-solaris2
648 :     ;;
649 : anton 1.5 i386mach)
650 :     basic_machine=i386-mach
651 :     os=-mach
652 :     ;;
653 :     i386-vsta | vsta)
654 :     basic_machine=i386-unknown
655 :     os=-vsta
656 :     ;;
657 : pazsan 1.1 iris | iris4d)
658 :     basic_machine=mips-sgi
659 :     case $os in
660 :     -irix*)
661 :     ;;
662 :     *)
663 :     os=-irix4
664 :     ;;
665 :     esac
666 :     ;;
667 :     isi68 | isi)
668 :     basic_machine=m68k-isi
669 :     os=-sysv
670 :     ;;
671 :     m88k-omron*)
672 :     basic_machine=m88k-omron
673 :     ;;
674 :     magnum | m3230)
675 :     basic_machine=mips-mips
676 :     os=-sysv
677 :     ;;
678 :     merlin)
679 :     basic_machine=ns32k-utek
680 :     os=-sysv
681 :     ;;
682 : anton 1.5 mingw32)
683 :     basic_machine=i386-pc
684 :     os=-mingw32
685 :     ;;
686 : anton 1.7 mingw32ce)
687 :     basic_machine=arm-unknown
688 :     os=-mingw32ce
689 :     ;;
690 : pazsan 1.1 miniframe)
691 :     basic_machine=m68000-convergent
692 :     ;;
693 : anton 1.5 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
694 :     basic_machine=m68k-atari
695 :     os=-mint
696 : pazsan 1.4 ;;
697 : pazsan 1.1 mips3*-*)
698 :     basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
699 :     ;;
700 :     mips3*)
701 :     basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
702 :     ;;
703 : anton 1.5 monitor)
704 :     basic_machine=m68k-rom68k
705 :     os=-coff
706 :     ;;
707 :     morphos)
708 :     basic_machine=powerpc-unknown
709 :     os=-morphos
710 :     ;;
711 :     msdos)
712 :     basic_machine=i386-pc
713 :     os=-msdos
714 :     ;;
715 : anton 1.6 ms1-*)
716 :     basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
717 :     ;;
718 : anton 1.5 mvs)
719 :     basic_machine=i370-ibm
720 :     os=-mvs
721 :     ;;
722 : pazsan 1.1 ncr3000)
723 :     basic_machine=i486-ncr
724 :     os=-sysv4
725 :     ;;
726 : anton 1.5 netbsd386)
727 :     basic_machine=i386-unknown
728 :     os=-netbsd
729 :     ;;
730 :     netwinder)
731 :     basic_machine=armv4l-rebel
732 :     os=-linux
733 :     ;;
734 : pazsan 1.1 news | news700 | news800 | news900)
735 :     basic_machine=m68k-sony
736 :     os=-newsos
737 :     ;;
738 :     news1000)
739 :     basic_machine=m68030-sony
740 :     os=-newsos
741 :     ;;
742 :     news-3600 | risc-news)
743 :     basic_machine=mips-sony
744 :     os=-newsos
745 :     ;;
746 : anton 1.5 necv70)
747 :     basic_machine=v70-nec
748 :     os=-sysv
749 :     ;;
750 : pazsan 1.1 next | m*-next )
751 :     basic_machine=m68k-next
752 :     case $os in
753 :     -nextstep* )
754 :     ;;
755 :     -ns2*)
756 :     os=-nextstep2
757 :     ;;
758 :     *)
759 :     os=-nextstep3
760 :     ;;
761 :     esac
762 :     ;;
763 :     nh3000)
764 :     basic_machine=m68k-harris
765 :     os=-cxux
766 :     ;;
767 :     nh[45]000)
768 :     basic_machine=m88k-harris
769 :     os=-cxux
770 :     ;;
771 :     nindy960)
772 :     basic_machine=i960-intel
773 :     os=-nindy
774 :     ;;
775 : anton 1.5 mon960)
776 :     basic_machine=i960-intel
777 :     os=-mon960
778 :     ;;
779 :     nonstopux)
780 :     basic_machine=mips-compaq
781 :     os=-nonstopux
782 :     ;;
783 : pazsan 1.1 np1)
784 :     basic_machine=np1-gould
785 :     ;;
786 : anton 1.5 nsr-tandem)
787 :     basic_machine=nsr-tandem
788 :     ;;
789 :     op50n-* | op60c-*)
790 :     basic_machine=hppa1.1-oki
791 :     os=-proelf
792 :     ;;
793 : anton 1.6 openrisc | openrisc-*)
794 : anton 1.5 basic_machine=or32-unknown
795 : anton 1.6 ;;
796 :     os400)
797 :     basic_machine=powerpc-ibm
798 :     os=-os400
799 : anton 1.5 ;;
800 :     OSE68000 | ose68000)
801 :     basic_machine=m68000-ericsson
802 :     os=-ose
803 :     ;;
804 :     os68k)
805 :     basic_machine=m68k-none
806 :     os=-os68k
807 :     ;;
808 : pazsan 1.1 pa-hitachi)
809 :     basic_machine=hppa1.1-hitachi
810 :     os=-hiuxwe2
811 :     ;;
812 :     paragon)
813 :     basic_machine=i860-intel
814 :     os=-osf
815 :     ;;
816 :     pbd)
817 :     basic_machine=sparc-tti
818 :     ;;
819 :     pbb)
820 :     basic_machine=m68k-tti
821 :     ;;
822 : anton 1.5 pc532 | pc532-*)
823 : pazsan 1.1 basic_machine=ns32k-pc532
824 :     ;;
825 : anton 1.6 pc98)
826 :     basic_machine=i386-pc
827 :     ;;
828 :     pc98-*)
829 :     basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
830 :     ;;
831 : anton 1.5 pentium | p5 | k5 | k6 | nexgen | viac3)
832 :     basic_machine=i586-pc
833 : anton 1.2 ;;
834 : anton 1.5 pentiumpro | p6 | 6x86 | athlon | athlon_*)
835 :     basic_machine=i686-pc
836 : pazsan 1.4 ;;
837 : anton 1.6 pentiumii | pentium2 | pentiumiii | pentium3)
838 : anton 1.5 basic_machine=i686-pc
839 :     ;;
840 : anton 1.6 pentium4)
841 :     basic_machine=i786-pc
842 :     ;;
843 : anton 1.5 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
844 : anton 1.2 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
845 :     ;;
846 : anton 1.5 pentiumpro-* | p6-* | 6x86-* | athlon-*)
847 : pazsan 1.4 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
848 :     ;;
849 : anton 1.6 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
850 : anton 1.5 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
851 : pazsan 1.1 ;;
852 : anton 1.6 pentium4-*)
853 :     basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
854 :     ;;
855 : pazsan 1.1 pn)
856 :     basic_machine=pn-gould
857 :     ;;
858 : anton 1.5 power) basic_machine=power-ibm
859 : anton 1.2 ;;
860 :     ppc) basic_machine=powerpc-unknown
861 : anton 1.5 ;;
862 : anton 1.2 ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
863 :     ;;
864 :     ppcle | powerpclittle | ppc-le | powerpc-little)
865 :     basic_machine=powerpcle-unknown
866 : anton 1.5 ;;
867 : anton 1.2 ppcle-* | powerpclittle-*)
868 :     basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
869 :     ;;
870 : anton 1.5 ppc64) basic_machine=powerpc64-unknown
871 :     ;;
872 :     ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
873 :     ;;
874 :     ppc64le | powerpc64little | ppc64-le | powerpc64-little)
875 :     basic_machine=powerpc64le-unknown
876 :     ;;
877 :     ppc64le-* | powerpc64little-*)
878 :     basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
879 :     ;;
880 : pazsan 1.1 ps2)
881 :     basic_machine=i386-ibm
882 :     ;;
883 : anton 1.5 pw32)
884 :     basic_machine=i586-unknown
885 :     os=-pw32
886 :     ;;
887 : anton 1.6 rdos)
888 :     basic_machine=i386-pc
889 :     os=-rdos
890 :     ;;
891 : anton 1.5 rom68k)
892 :     basic_machine=m68k-rom68k
893 :     os=-coff
894 :     ;;
895 : anton 1.2 rm[46]00)
896 :     basic_machine=mips-siemens
897 :     ;;
898 : pazsan 1.1 rtpc | rtpc-*)
899 :     basic_machine=romp-ibm
900 :     ;;
901 : anton 1.5 s390 | s390-*)
902 :     basic_machine=s390-ibm
903 :     ;;
904 :     s390x | s390x-*)
905 :     basic_machine=s390x-ibm
906 :     ;;
907 :     sa29200)
908 :     basic_machine=a29k-amd
909 :     os=-udi
910 :     ;;
911 :     sb1)
912 :     basic_machine=mipsisa64sb1-unknown
913 :     ;;
914 :     sb1el)
915 :     basic_machine=mipsisa64sb1el-unknown
916 :     ;;
917 : anton 1.6 sde)
918 :     basic_machine=mipsisa32-sde
919 :     os=-elf
920 :     ;;
921 :     sei)
922 :     basic_machine=mips-sei
923 :     os=-seiux
924 :     ;;
925 : pazsan 1.1 sequent)
926 :     basic_machine=i386-sequent
927 :     ;;
928 :     sh)
929 :     basic_machine=sh-hitachi
930 :     os=-hms
931 :     ;;
932 : anton 1.6 sh5el)
933 :     basic_machine=sh5le-unknown
934 :     ;;
935 :     sh64)
936 :     basic_machine=sh64-unknown
937 :     ;;
938 : anton 1.5 sparclite-wrs | simso-wrs)
939 :     basic_machine=sparclite-wrs
940 :     os=-vxworks
941 :     ;;
942 : pazsan 1.1 sps7)
943 :     basic_machine=m68k-bull
944 :     os=-sysv2
945 :     ;;
946 :     spur)
947 :     basic_machine=spur-unknown
948 :     ;;
949 : anton 1.5 st2000)
950 :     basic_machine=m68k-tandem
951 :     ;;
952 :     stratus)
953 :     basic_machine=i860-stratus
954 :     os=-sysv4
955 :     ;;
956 : pazsan 1.1 sun2)
957 :     basic_machine=m68000-sun
958 :     ;;
959 :     sun2os3)
960 :     basic_machine=m68000-sun
961 :     os=-sunos3
962 :     ;;
963 :     sun2os4)
964 :     basic_machine=m68000-sun
965 :     os=-sunos4
966 :     ;;
967 :     sun3os3)
968 :     basic_machine=m68k-sun
969 :     os=-sunos3
970 :     ;;
971 :     sun3os4)
972 :     basic_machine=m68k-sun
973 :     os=-sunos4
974 :     ;;
975 :     sun4os3)
976 :     basic_machine=sparc-sun
977 :     os=-sunos3
978 :     ;;
979 :     sun4os4)
980 :     basic_machine=sparc-sun
981 :     os=-sunos4
982 :     ;;
983 : anton 1.2 sun4sol2)
984 :     basic_machine=sparc-sun
985 :     os=-solaris2
986 :     ;;
987 : pazsan 1.1 sun3 | sun3-*)
988 :     basic_machine=m68k-sun
989 :     ;;
990 :     sun4)
991 :     basic_machine=sparc-sun
992 :     ;;
993 :     sun386 | sun386i | roadrunner)
994 :     basic_machine=i386-sun
995 :     ;;
996 : anton 1.5 sv1)
997 :     basic_machine=sv1-cray
998 :     os=-unicos
999 :     ;;
1000 : pazsan 1.1 symmetry)
1001 :     basic_machine=i386-sequent
1002 :     os=-dynix
1003 :     ;;
1004 : anton 1.5 t3e)
1005 :     basic_machine=alphaev5-cray
1006 :     os=-unicos
1007 :     ;;
1008 :     t90)
1009 :     basic_machine=t90-cray
1010 :     os=-unicos
1011 :     ;;
1012 : anton 1.6 tic54x | c54x*)
1013 :     basic_machine=tic54x-unknown
1014 :     os=-coff
1015 :     ;;
1016 :     tic55x | c55x*)
1017 :     basic_machine=tic55x-unknown
1018 : anton 1.5 os=-coff
1019 :     ;;
1020 : anton 1.6 tic6x | c6x*)
1021 :     basic_machine=tic6x-unknown
1022 : anton 1.5 os=-coff
1023 :     ;;
1024 : pazsan 1.4 tx39)
1025 :     basic_machine=mipstx39-unknown
1026 :     ;;
1027 :     tx39el)
1028 :     basic_machine=mipstx39el-unknown
1029 :     ;;
1030 : anton 1.5 toad1)
1031 :     basic_machine=pdp10-xkl
1032 :     os=-tops20
1033 :     ;;
1034 : pazsan 1.1 tower | tower-32)
1035 :     basic_machine=m68k-ncr
1036 :     ;;
1037 : anton 1.6 tpf)
1038 :     basic_machine=s390x-ibm
1039 :     os=-tpf
1040 :     ;;
1041 : anton 1.2 udi29k)
1042 :     basic_machine=a29k-amd
1043 :     os=-udi
1044 :     ;;
1045 : pazsan 1.1 ultra3)
1046 :     basic_machine=a29k-nyu
1047 :     os=-sym1
1048 :     ;;
1049 : anton 1.5 v810 | necv810)
1050 :     basic_machine=v810-nec
1051 :     os=-none
1052 :     ;;
1053 : pazsan 1.1 vaxv)
1054 :     basic_machine=vax-dec
1055 :     os=-sysv
1056 :     ;;
1057 :     vms)
1058 :     basic_machine=vax-dec
1059 :     os=-vms
1060 :     ;;
1061 : pazsan 1.4 vpp*|vx|vx-*)
1062 : anton 1.5 basic_machine=f301-fujitsu
1063 :     ;;
1064 : pazsan 1.1 vxworks960)
1065 :     basic_machine=i960-wrs
1066 :     os=-vxworks
1067 :     ;;
1068 :     vxworks68)
1069 :     basic_machine=m68k-wrs
1070 :     os=-vxworks
1071 :     ;;
1072 : anton 1.2 vxworks29k)
1073 :     basic_machine=a29k-wrs
1074 :     os=-vxworks
1075 :     ;;
1076 : anton 1.5 w65*)
1077 :     basic_machine=w65-wdc
1078 :     os=-none
1079 :     ;;
1080 :     w89k-*)
1081 :     basic_machine=hppa1.1-winbond
1082 :     os=-proelf
1083 :     ;;
1084 : anton 1.6 xbox)
1085 :     basic_machine=i686-pc
1086 :     os=-mingw32
1087 : anton 1.5 ;;
1088 :     xps | xps100)
1089 :     basic_machine=xps100-honeywell
1090 :     ;;
1091 :     ymp)
1092 :     basic_machine=ymp-cray
1093 : pazsan 1.1 os=-unicos
1094 :     ;;
1095 : anton 1.5 z8k-*-coff)
1096 :     basic_machine=z8k-unknown
1097 :     os=-sim
1098 : pazsan 1.1 ;;
1099 :     none)
1100 :     basic_machine=none-none
1101 :     os=-none
1102 :     ;;
1103 :    
1104 :     # Here we handle the default manufacturer of certain CPU types. It is in
1105 :     # some cases the only manufacturer, in others, it is the most popular.
1106 : anton 1.5 w89k)
1107 :     basic_machine=hppa1.1-winbond
1108 :     ;;
1109 :     op50n)
1110 :     basic_machine=hppa1.1-oki
1111 :     ;;
1112 :     op60c)
1113 :     basic_machine=hppa1.1-oki
1114 : pazsan 1.1 ;;
1115 :     romp)
1116 :     basic_machine=romp-ibm
1117 :     ;;
1118 : anton 1.6 mmix)
1119 :     basic_machine=mmix-knuth
1120 :     ;;
1121 : pazsan 1.1 rs6000)
1122 :     basic_machine=rs6000-ibm
1123 :     ;;
1124 :     vax)
1125 :     basic_machine=vax-dec
1126 :     ;;
1127 : anton 1.5 pdp10)
1128 :     # there are many clones, so DEC is not a safe bet
1129 :     basic_machine=pdp10-unknown
1130 :     ;;
1131 : pazsan 1.1 pdp11)
1132 :     basic_machine=pdp11-dec
1133 :     ;;
1134 :     we32k)
1135 :     basic_machine=we32k-att
1136 :     ;;
1137 : anton 1.6 sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
1138 : anton 1.5 basic_machine=sh-unknown
1139 :     ;;
1140 : anton 1.6 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1141 : pazsan 1.1 basic_machine=sparc-sun
1142 :     ;;
1143 : anton 1.5 cydra)
1144 : pazsan 1.1 basic_machine=cydra-cydrome
1145 :     ;;
1146 :     orion)
1147 :     basic_machine=orion-highlevel
1148 :     ;;
1149 :     orion105)
1150 :     basic_machine=clipper-highlevel
1151 :     ;;
1152 : anton 1.5 mac | mpw | mac-mpw)
1153 :     basic_machine=m68k-apple
1154 :     ;;
1155 :     pmac | pmac-mpw)
1156 :     basic_machine=powerpc-apple
1157 :     ;;
1158 :     *-unknown)
1159 :     # Make sure to match an already-canonicalized machine name.
1160 :     ;;
1161 : pazsan 1.1 *)
1162 :     echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1163 :     exit 1
1164 :     ;;
1165 :     esac
1166 :    
1167 :     # Here we canonicalize certain aliases for manufacturers.
1168 :     case $basic_machine in
1169 :     *-digital*)
1170 :     basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1171 :     ;;
1172 :     *-commodore*)
1173 :     basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1174 :     ;;
1175 :     *)
1176 :     ;;
1177 :     esac
1178 :    
1179 :     # Decode manufacturer-specific aliases for certain operating systems.
1180 :    
1181 :     if [ x"$os" != x"" ]
1182 :     then
1183 :     case $os in
1184 : pazsan 1.4 # First match some system type aliases
1185 :     # that might get confused with valid system types.
1186 : pazsan 1.1 # -solaris* is a basic system type, with this one exception.
1187 :     -solaris1 | -solaris1.*)
1188 :     os=`echo $os | sed -e 's|solaris1|sunos4|'`
1189 :     ;;
1190 :     -solaris)
1191 :     os=-solaris2
1192 :     ;;
1193 : pazsan 1.4 -svr4*)
1194 : anton 1.2 os=-sysv4
1195 :     ;;
1196 : pazsan 1.4 -unixware*)
1197 :     os=-sysv4.2uw
1198 :     ;;
1199 : pazsan 1.1 -gnu/linux*)
1200 : pazsan 1.4 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1201 : pazsan 1.1 ;;
1202 :     # First accept the basic system types.
1203 :     # The portable systems comes first.
1204 : anton 1.2 # Each alternative MUST END IN A *, to match a version number.
1205 : pazsan 1.1 # -sysv* is not here because it comes later, after sysvr4.
1206 :     -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1207 : pazsan 1.4 | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
1208 : pazsan 1.1 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
1209 : pazsan 1.4 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1210 :     | -aos* \
1211 :     | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1212 :     | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1213 : anton 1.6 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1214 :     | -openbsd* | -solidbsd* \
1215 :     | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1216 :     | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1217 : anton 1.2 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1218 : pazsan 1.4 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1219 : anton 1.5 | -chorusos* | -chorusrdb* \
1220 :     | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1221 : anton 1.6 | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1222 :     | -uxpv* | -beos* | -mpeix* | -udk* \
1223 :     | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1224 : anton 1.5 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1225 :     | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1226 :     | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1227 : anton 1.6 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1228 :     | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1229 : anton 1.7 | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
1230 : anton 1.2 # Remember, each alternative MUST END IN *, to match a version number.
1231 : pazsan 1.1 ;;
1232 : anton 1.5 -qnx*)
1233 :     case $basic_machine in
1234 :     x86-* | i*86-*)
1235 :     ;;
1236 :     *)
1237 :     os=-nto$os
1238 :     ;;
1239 :     esac
1240 :     ;;
1241 : anton 1.6 -nto-qnx*)
1242 :     ;;
1243 : anton 1.5 -nto*)
1244 : anton 1.6 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1245 : anton 1.5 ;;
1246 :     -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1247 : anton 1.6 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1248 : anton 1.5 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1249 :     ;;
1250 :     -mac*)
1251 :     os=`echo $os | sed -e 's|mac|macos|'`
1252 :     ;;
1253 : anton 1.6 -linux-dietlibc)
1254 :     os=-linux-dietlibc
1255 :     ;;
1256 : pazsan 1.4 -linux*)
1257 :     os=`echo $os | sed -e 's|linux|linux-gnu|'`
1258 :     ;;
1259 : pazsan 1.1 -sunos5*)
1260 :     os=`echo $os | sed -e 's|sunos5|solaris2|'`
1261 :     ;;
1262 :     -sunos6*)
1263 :     os=`echo $os | sed -e 's|sunos6|solaris3|'`
1264 :     ;;
1265 : anton 1.5 -opened*)
1266 :     os=-openedition
1267 :     ;;
1268 : anton 1.6 -os400*)
1269 :     os=-os400
1270 :     ;;
1271 : anton 1.5 -wince*)
1272 :     os=-wince
1273 :     ;;
1274 : pazsan 1.1 -osfrose*)
1275 :     os=-osfrose
1276 :     ;;
1277 :     -osf*)
1278 :     os=-osf
1279 :     ;;
1280 :     -utek*)
1281 :     os=-bsd
1282 :     ;;
1283 :     -dynix*)
1284 :     os=-bsd
1285 :     ;;
1286 :     -acis*)
1287 :     os=-aos
1288 :     ;;
1289 : anton 1.5 -atheos*)
1290 :     os=-atheos
1291 :     ;;
1292 : anton 1.6 -syllable*)
1293 :     os=-syllable
1294 :     ;;
1295 : anton 1.5 -386bsd)
1296 :     os=-bsd
1297 :     ;;
1298 : pazsan 1.1 -ctix* | -uts*)
1299 :     os=-sysv
1300 :     ;;
1301 : anton 1.5 -nova*)
1302 :     os=-rtmk-nova
1303 :     ;;
1304 : pazsan 1.4 -ns2 )
1305 : anton 1.5 os=-nextstep2
1306 :     ;;
1307 :     -nsk*)
1308 :     os=-nsk
1309 : pazsan 1.4 ;;
1310 : anton 1.2 # Preserve the version number of sinix5.
1311 :     -sinix5.*)
1312 :     os=`echo $os | sed -e 's|sinix|sysv|'`
1313 :     ;;
1314 :     -sinix*)
1315 :     os=-sysv4
1316 :     ;;
1317 : anton 1.6 -tpf*)
1318 :     os=-tpf
1319 :     ;;
1320 : pazsan 1.1 -triton*)
1321 :     os=-sysv3
1322 :     ;;
1323 :     -oss*)
1324 :     os=-sysv3
1325 :     ;;
1326 :     -svr4)
1327 :     os=-sysv4
1328 :     ;;
1329 :     -svr3)
1330 :     os=-sysv3
1331 :     ;;
1332 :     -sysvr4)
1333 :     os=-sysv4
1334 :     ;;
1335 :     # This must come after -sysvr4.
1336 :     -sysv*)
1337 :     ;;
1338 : anton 1.5 -ose*)
1339 :     os=-ose
1340 :     ;;
1341 :     -es1800*)
1342 :     os=-ose
1343 :     ;;
1344 : pazsan 1.1 -xenix)
1345 :     os=-xenix
1346 :     ;;
1347 : anton 1.5 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1348 :     os=-mint
1349 :     ;;
1350 : anton 1.6 -aros*)
1351 :     os=-aros
1352 :     ;;
1353 :     -kaos*)
1354 :     os=-kaos
1355 :     ;;
1356 :     -zvmoe)
1357 :     os=-zvmoe
1358 :     ;;
1359 : pazsan 1.1 -none)
1360 :     ;;
1361 :     *)
1362 :     # Get rid of the `-' at the beginning of $os.
1363 :     os=`echo $os | sed 's/[^-]*-//'`
1364 :     echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1365 :     exit 1
1366 :     ;;
1367 :     esac
1368 :     else
1369 :    
1370 :     # Here we handle the default operating systems that come with various machines.
1371 :     # The value should be what the vendor currently ships out the door with their
1372 :     # machine or put another way, the most popular os provided with the machine.
1373 :    
1374 :     # Note that if you're going to try to match "-MANUFACTURER" here (say,
1375 :     # "-sun"), then you have to tell the case statement up towards the top
1376 :     # that MANUFACTURER isn't an operating system. Otherwise, code above
1377 :     # will signal an error saying that MANUFACTURER isn't an operating
1378 :     # system, and we'll never get to this point.
1379 :    
1380 :     case $basic_machine in
1381 : anton 1.6 score-*)
1382 :     os=-elf
1383 :     ;;
1384 :     spu-*)
1385 :     os=-elf
1386 :     ;;
1387 : pazsan 1.1 *-acorn)
1388 :     os=-riscix1.2
1389 :     ;;
1390 : anton 1.5 arm*-rebel)
1391 :     os=-linux
1392 :     ;;
1393 : anton 1.2 arm*-semi)
1394 :     os=-aout
1395 :     ;;
1396 : anton 1.6 c4x-* | tic4x-*)
1397 :     os=-coff
1398 :     ;;
1399 : anton 1.5 # This must come before the *-dec entry.
1400 :     pdp10-*)
1401 :     os=-tops20
1402 :     ;;
1403 :     pdp11-*)
1404 : pazsan 1.1 os=-none
1405 :     ;;
1406 :     *-dec | vax-*)
1407 :     os=-ultrix4.2
1408 :     ;;
1409 : anton 1.2 m68*-apollo)
1410 :     os=-domain
1411 :     ;;
1412 : pazsan 1.1 i386-sun)
1413 :     os=-sunos4.0.2
1414 :     ;;
1415 :     m68000-sun)
1416 :     os=-sunos3
1417 :     # This also exists in the configure program, but was not the
1418 :     # default.
1419 :     # os=-sunos4
1420 :     ;;
1421 : anton 1.5 m68*-cisco)
1422 :     os=-aout
1423 :     ;;
1424 : anton 1.7 mep-*)
1425 :     os=-elf
1426 :     ;;
1427 : anton 1.5 mips*-cisco)
1428 :     os=-elf
1429 :     ;;
1430 :     mips*-*)
1431 :     os=-elf
1432 :     ;;
1433 :     or32-*)
1434 :     os=-coff
1435 :     ;;
1436 : pazsan 1.1 *-tti) # must be before sparc entry or we get the wrong os.
1437 :     os=-sysv3
1438 :     ;;
1439 :     sparc-* | *-sun)
1440 :     os=-sunos4.1.1
1441 :     ;;
1442 : anton 1.5 *-be)
1443 :     os=-beos
1444 :     ;;
1445 : anton 1.6 *-haiku)
1446 :     os=-haiku
1447 :     ;;
1448 : pazsan 1.1 *-ibm)
1449 :     os=-aix
1450 :     ;;
1451 : anton 1.6 *-knuth)
1452 :     os=-mmixware
1453 :     ;;
1454 : anton 1.5 *-wec)
1455 :     os=-proelf
1456 :     ;;
1457 :     *-winbond)
1458 :     os=-proelf
1459 :     ;;
1460 :     *-oki)
1461 :     os=-proelf
1462 :     ;;
1463 : pazsan 1.1 *-hp)
1464 :     os=-hpux
1465 :     ;;
1466 :     *-hitachi)
1467 :     os=-hiux
1468 :     ;;
1469 :     i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1470 :     os=-sysv
1471 :     ;;
1472 :     *-cbm)
1473 : pazsan 1.4 os=-amigaos
1474 : pazsan 1.1 ;;
1475 :     *-dg)
1476 :     os=-dgux
1477 :     ;;
1478 :     *-dolphin)
1479 :     os=-sysv3
1480 :     ;;
1481 :     m68k-ccur)
1482 :     os=-rtu
1483 :     ;;
1484 :     m88k-omron*)
1485 :     os=-luna
1486 :     ;;
1487 : pazsan 1.4 *-next )
1488 :     os=-nextstep
1489 :     ;;
1490 : pazsan 1.1 *-sequent)
1491 :     os=-ptx
1492 :     ;;
1493 :     *-crds)
1494 :     os=-unos
1495 :     ;;
1496 :     *-ns)
1497 :     os=-genix
1498 :     ;;
1499 :     i370-*)
1500 :     os=-mvs
1501 :     ;;
1502 :     *-next)
1503 :     os=-nextstep3
1504 :     ;;
1505 : anton 1.5 *-gould)
1506 : pazsan 1.1 os=-sysv
1507 :     ;;
1508 : anton 1.5 *-highlevel)
1509 : pazsan 1.1 os=-bsd
1510 :     ;;
1511 :     *-encore)
1512 :     os=-bsd
1513 :     ;;
1514 : anton 1.5 *-sgi)
1515 : pazsan 1.1 os=-irix
1516 :     ;;
1517 : anton 1.5 *-siemens)
1518 : anton 1.2 os=-sysv4
1519 :     ;;
1520 : pazsan 1.1 *-masscomp)
1521 :     os=-rtu
1522 :     ;;
1523 : anton 1.5 f30[01]-fujitsu | f700-fujitsu)
1524 : pazsan 1.4 os=-uxpv
1525 :     ;;
1526 : anton 1.5 *-rom68k)
1527 :     os=-coff
1528 :     ;;
1529 :     *-*bug)
1530 :     os=-coff
1531 :     ;;
1532 :     *-apple)
1533 :     os=-macos
1534 :     ;;
1535 :     *-atari*)
1536 :     os=-mint
1537 :     ;;
1538 : pazsan 1.1 *)
1539 :     os=-none
1540 :     ;;
1541 :     esac
1542 :     fi
1543 :    
1544 :     # Here we handle the case where we know the os, and the CPU type, but not the
1545 :     # manufacturer. We pick the logical manufacturer.
1546 :     vendor=unknown
1547 :     case $basic_machine in
1548 :     *-unknown)
1549 :     case $os in
1550 :     -riscix*)
1551 :     vendor=acorn
1552 :     ;;
1553 :     -sunos*)
1554 :     vendor=sun
1555 :     ;;
1556 :     -aix*)
1557 :     vendor=ibm
1558 :     ;;
1559 : anton 1.5 -beos*)
1560 :     vendor=be
1561 :     ;;
1562 : pazsan 1.1 -hpux*)
1563 :     vendor=hp
1564 :     ;;
1565 : anton 1.5 -mpeix*)
1566 :     vendor=hp
1567 :     ;;
1568 : pazsan 1.1 -hiux*)
1569 :     vendor=hitachi
1570 :     ;;
1571 :     -unos*)
1572 :     vendor=crds
1573 :     ;;
1574 :     -dgux*)
1575 :     vendor=dg
1576 :     ;;
1577 :     -luna*)
1578 :     vendor=omron
1579 :     ;;
1580 :     -genix*)
1581 :     vendor=ns
1582 :     ;;
1583 : anton 1.5 -mvs* | -opened*)
1584 : pazsan 1.1 vendor=ibm
1585 :     ;;
1586 : anton 1.6 -os400*)
1587 :     vendor=ibm
1588 :     ;;
1589 : pazsan 1.1 -ptx*)
1590 :     vendor=sequent
1591 : anton 1.2 ;;
1592 : anton 1.6 -tpf*)
1593 :     vendor=ibm
1594 :     ;;
1595 : anton 1.5 -vxsim* | -vxworks* | -windiss*)
1596 : anton 1.2 vendor=wrs
1597 : pazsan 1.4 ;;
1598 :     -aux*)
1599 :     vendor=apple
1600 : pazsan 1.1 ;;
1601 : anton 1.5 -hms*)
1602 :     vendor=hitachi
1603 :     ;;
1604 :     -mpw* | -macos*)
1605 :     vendor=apple
1606 :     ;;
1607 :     -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1608 :     vendor=atari
1609 :     ;;
1610 :     -vos*)
1611 :     vendor=stratus
1612 :     ;;
1613 : pazsan 1.1 esac
1614 :     basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1615 :     ;;
1616 :     esac
1617 :    
1618 :     echo $basic_machine$os
1619 : anton 1.6 exit
1620 : anton 1.5
1621 :     # Local variables:
1622 :     # eval: (add-hook 'write-file-hooks 'time-stamp)
1623 :     # time-stamp-start: "timestamp='"
1624 :     # time-stamp-format: "%:y-%02m-%02d"
1625 :     # time-stamp-end: "'"
1626 :     # End:

CVS Admin

Powered by ViewCVS 1.0-dev
(Powered by ViewCVS)

ViewCVS and CVS Help