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