source: trunk/third/gcc/config.sub @ 18474

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