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