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