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

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