source: trunk/third/gmake/config.sub @ 15972

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