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