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