source: trunk/third/libgnome/config.sub @ 21494

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