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