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