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