OSDN Git Service

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