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