root/trunk/config.sub

Revision 883, 32.6 kB (checked in by michael, 4 months ago)

'autoreconf -f -i' run & config.rpath added

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