source: trunk/third/librep/config.sub @ 17362

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