source: trunk/third/findutils/config.sub @ 18890

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