source: trunk/third/atk/config.sub @ 20776

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