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