source: trunk/gui/tclconfig/config.sub @ 1613

Last change on this file since 1613 was 503, checked in by nkissebe, 18 years ago

Converted to Tcl Extension Architecture (TEA) v3.5 for base Windows support. Added Windows ports of getrlimit, getrusage, gettimeofday, setrlimit functions.

  • Property svn:executable set to *
File size: 29.3 KB
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=i686-pc
626                os=-mingw32
627                ;;
628        msys)
629                basic_machine=i686-pc
630                os=-msys
631                ;;
632        miniframe)
633                basic_machine=m68000-convergent
634                ;;
635        *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
636                basic_machine=m68k-atari
637                os=-mint
638                ;;
639        mips3*-*)
640                basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
641                ;;
642        mips3*)
643                basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
644                ;;
645        mmix*)
646                basic_machine=mmix-knuth
647                os=-mmixware
648                ;;
649        monitor)
650                basic_machine=m68k-rom68k
651                os=-coff
652                ;;
653        morphos)
654                basic_machine=powerpc-unknown
655                os=-morphos
656                ;;
657        msdos)
658                basic_machine=i386-pc
659                os=-msdos
660                ;;
661        mvs)
662                basic_machine=i370-ibm
663                os=-mvs
664                ;;
665        ncr3000)
666                basic_machine=i486-ncr
667                os=-sysv4
668                ;;
669        netbsd386)
670                basic_machine=i386-unknown
671                os=-netbsd
672                ;;
673        netwinder)
674                basic_machine=armv4l-rebel
675                os=-linux
676                ;;
677        news | news700 | news800 | news900)
678                basic_machine=m68k-sony
679                os=-newsos
680                ;;
681        news1000)
682                basic_machine=m68030-sony
683                os=-newsos
684                ;;
685        news-3600 | risc-news)
686                basic_machine=mips-sony
687                os=-newsos
688                ;;
689        necv70)
690                basic_machine=v70-nec
691                os=-sysv
692                ;;
693        next | m*-next )
694                basic_machine=m68k-next
695                case $os in
696                    -nextstep* )
697                        ;;
698                    -ns2*)
699                      os=-nextstep2
700                        ;;
701                    *)
702                      os=-nextstep3
703                        ;;
704                esac
705                ;;
706        nh3000)
707                basic_machine=m68k-harris
708                os=-cxux
709                ;;
710        nh[45]000)
711                basic_machine=m88k-harris
712                os=-cxux
713                ;;
714        nindy960)
715                basic_machine=i960-intel
716                os=-nindy
717                ;;
718        mon960)
719                basic_machine=i960-intel
720                os=-mon960
721                ;;
722        nonstopux)
723                basic_machine=mips-compaq
724                os=-nonstopux
725                ;;
726        np1)
727                basic_machine=np1-gould
728                ;;
729        nv1)
730                basic_machine=nv1-cray
731                os=-unicosmp
732                ;;
733        nsr-tandem)
734                basic_machine=nsr-tandem
735                ;;
736        op50n-* | op60c-*)
737                basic_machine=hppa1.1-oki
738                os=-proelf
739                ;;
740        or32 | or32-*)
741                basic_machine=or32-unknown
742                os=-coff
743                ;;
744        OSE68000 | ose68000)
745                basic_machine=m68000-ericsson
746                os=-ose
747                ;;
748        os68k)
749                basic_machine=m68k-none
750                os=-os68k
751                ;;
752        pa-hitachi)
753                basic_machine=hppa1.1-hitachi
754                os=-hiuxwe2
755                ;;
756        paragon)
757                basic_machine=i860-intel
758                os=-osf
759                ;;
760        pbd)
761                basic_machine=sparc-tti
762                ;;
763        pbb)
764                basic_machine=m68k-tti
765                ;;
766        pc532 | pc532-*)
767                basic_machine=ns32k-pc532
768                ;;
769        pentium | p5 | k5 | k6 | nexgen | viac3)
770                basic_machine=i586-pc
771                ;;
772        pentiumpro | p6 | 6x86 | athlon | athlon_*)
773                basic_machine=i686-pc
774                ;;
775        pentiumii | pentium2)
776                basic_machine=i686-pc
777                ;;
778        pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
779                basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
780                ;;
781        pentiumpro-* | p6-* | 6x86-* | athlon-*)
782                basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
783                ;;
784        pentiumii-* | pentium2-*)
785                basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
786                ;;
787        pn)
788                basic_machine=pn-gould
789                ;;
790        power)  basic_machine=power-ibm
791                ;;
792        ppc)    basic_machine=powerpc-unknown
793                ;;
794        ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
795                ;;
796        ppcle | powerpclittle | ppc-le | powerpc-little)
797                basic_machine=powerpcle-unknown
798                ;;
799        ppcle-* | powerpclittle-*)
800                basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
801                ;;
802        ppc64)  basic_machine=powerpc64-unknown
803                ;;
804        ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
805                ;;
806        ppc64le | powerpc64little | ppc64-le | powerpc64-little)
807                basic_machine=powerpc64le-unknown
808                ;;
809        ppc64le-* | powerpc64little-*)
810                basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
811                ;;
812        ps2)
813                basic_machine=i386-ibm
814                ;;
815        pw32)
816                basic_machine=i586-unknown
817                os=-pw32
818                ;;
819        rom68k)
820                basic_machine=m68k-rom68k
821                os=-coff
822                ;;
823        rm[46]00)
824                basic_machine=mips-siemens
825                ;;
826        rtpc | rtpc-*)
827                basic_machine=romp-ibm
828                ;;
829        s390 | s390-*)
830                basic_machine=s390-ibm
831                ;;
832        s390x | s390x-*)
833                basic_machine=s390x-ibm
834                ;;
835        sa29200)
836                basic_machine=a29k-amd
837                os=-udi
838                ;;
839        sb1)
840                basic_machine=mipsisa64sb1-unknown
841                ;;
842        sb1el)
843                basic_machine=mipsisa64sb1el-unknown
844                ;;
845        sequent)
846                basic_machine=i386-sequent
847                ;;
848        sh)
849                basic_machine=sh-hitachi
850                os=-hms
851                ;;
852        sparclite-wrs | simso-wrs)
853                basic_machine=sparclite-wrs
854                os=-vxworks
855                ;;
856        sps7)
857                basic_machine=m68k-bull
858                os=-sysv2
859                ;;
860        spur)
861                basic_machine=spur-unknown
862                ;;
863        st2000)
864                basic_machine=m68k-tandem
865                ;;
866        stratus)
867                basic_machine=i860-stratus
868                os=-sysv4
869                ;;
870        sun2)
871                basic_machine=m68000-sun
872                ;;
873        sun2os3)
874                basic_machine=m68000-sun
875                os=-sunos3
876                ;;
877        sun2os4)
878                basic_machine=m68000-sun
879                os=-sunos4
880                ;;
881        sun3os3)
882                basic_machine=m68k-sun
883                os=-sunos3
884                ;;
885        sun3os4)
886                basic_machine=m68k-sun
887                os=-sunos4
888                ;;
889        sun4os3)
890                basic_machine=sparc-sun
891                os=-sunos3
892                ;;
893        sun4os4)
894                basic_machine=sparc-sun
895                os=-sunos4
896                ;;
897        sun4sol2)
898                basic_machine=sparc-sun
899                os=-solaris2
900                ;;
901        sun3 | sun3-*)
902                basic_machine=m68k-sun
903                ;;
904        sun4)
905                basic_machine=sparc-sun
906                ;;
907        sun386 | sun386i | roadrunner)
908                basic_machine=i386-sun
909                ;;
910        sv1)
911                basic_machine=sv1-cray
912                os=-unicos
913                ;;
914        symmetry)
915                basic_machine=i386-sequent
916                os=-dynix
917                ;;
918        t3e)
919                basic_machine=alphaev5-cray
920                os=-unicos
921                ;;
922        t90)
923                basic_machine=t90-cray
924                os=-unicos
925                ;;
926        tic4x | c4x*)
927                basic_machine=tic4x-unknown
928                os=-coff
929                ;;
930        tic54x | c54x*)
931                basic_machine=tic54x-unknown
932                os=-coff
933                ;;
934        tic55x | c55x*)
935                basic_machine=tic55x-unknown
936                os=-coff
937                ;;
938        tic6x | c6x*)
939                basic_machine=tic6x-unknown
940                os=-coff
941                ;;
942        tx39)
943                basic_machine=mipstx39-unknown
944                ;;
945        tx39el)
946                basic_machine=mipstx39el-unknown
947                ;;
948        toad1)
949                basic_machine=pdp10-xkl
950                os=-tops20
951                ;;
952        tower | tower-32)
953                basic_machine=m68k-ncr
954                ;;
955        udi29k)
956                basic_machine=a29k-amd
957                os=-udi
958                ;;
959        ultra3)
960                basic_machine=a29k-nyu
961                os=-sym1
962                ;;
963        v810 | necv810)
964                basic_machine=v810-nec
965                os=-none
966                ;;
967        vaxv)
968                basic_machine=vax-dec
969                os=-sysv
970                ;;
971        vms)
972                basic_machine=vax-dec
973                os=-vms
974                ;;
975        vpp*|vx|vx-*)
976                basic_machine=f301-fujitsu
977                ;;
978        vxworks960)
979                basic_machine=i960-wrs
980                os=-vxworks
981                ;;
982        vxworks68)
983                basic_machine=m68k-wrs
984                os=-vxworks
985                ;;
986        vxworks29k)
987                basic_machine=a29k-wrs
988                os=-vxworks
989                ;;
990        w65*)
991                basic_machine=w65-wdc
992                os=-none
993                ;;
994        w89k-*)
995                basic_machine=hppa1.1-winbond
996                os=-proelf
997                ;;
998        xps | xps100)
999                basic_machine=xps100-honeywell
1000                ;;
1001        ymp)
1002                basic_machine=ymp-cray
1003                os=-unicos
1004                ;;
1005        z8k-*-coff)
1006                basic_machine=z8k-unknown
1007                os=-sim
1008                ;;
1009        none)
1010                basic_machine=none-none
1011                os=-none
1012                ;;
1013
1014# Here we handle the default manufacturer of certain CPU types.  It is in
1015# some cases the only manufacturer, in others, it is the most popular.
1016        w89k)
1017                basic_machine=hppa1.1-winbond
1018                ;;
1019        op50n)
1020                basic_machine=hppa1.1-oki
1021                ;;
1022        op60c)
1023                basic_machine=hppa1.1-oki
1024                ;;
1025        romp)
1026                basic_machine=romp-ibm
1027                ;;
1028        rs6000)
1029                basic_machine=rs6000-ibm
1030                ;;
1031        vax)
1032                basic_machine=vax-dec
1033                ;;
1034        pdp10)
1035                # there are many clones, so DEC is not a safe bet
1036                basic_machine=pdp10-unknown
1037                ;;
1038        pdp11)
1039                basic_machine=pdp11-dec
1040                ;;
1041        we32k)
1042                basic_machine=we32k-att
1043                ;;
1044        sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
1045                basic_machine=sh-unknown
1046                ;;
1047        sh64)
1048                basic_machine=sh64-unknown
1049                ;;
1050        sparc | sparcv9 | sparcv9b)
1051                basic_machine=sparc-sun
1052                ;;
1053        cydra)
1054                basic_machine=cydra-cydrome
1055                ;;
1056        orion)
1057                basic_machine=orion-highlevel
1058                ;;
1059        orion105)
1060                basic_machine=clipper-highlevel
1061                ;;
1062        mac | mpw | mac-mpw)
1063                basic_machine=m68k-apple
1064                ;;
1065        pmac | pmac-mpw)
1066                basic_machine=powerpc-apple
1067                ;;
1068        *-unknown)
1069                # Make sure to match an already-canonicalized machine name.
1070                ;;
1071        *)
1072                echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1073                exit 1
1074                ;;
1075esac
1076
1077# Here we canonicalize certain aliases for manufacturers.
1078case $basic_machine in
1079        *-digital*)
1080                basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1081                ;;
1082        *-commodore*)
1083                basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1084                ;;
1085        *)
1086                ;;
1087esac
1088
1089# Decode manufacturer-specific aliases for certain operating systems.
1090
1091if [ x"$os" != x"" ]
1092then
1093case $os in
1094        # First match some system type aliases
1095        # that might get confused with valid system types.
1096        # -solaris* is a basic system type, with this one exception.
1097        -solaris1 | -solaris1.*)
1098                os=`echo $os | sed -e 's|solaris1|sunos4|'`
1099                ;;
1100        -solaris)
1101                os=-solaris2
1102                ;;
1103        -svr4*)
1104                os=-sysv4
1105                ;;
1106        -unixware*)
1107                os=-sysv4.2uw
1108                ;;
1109        -gnu/linux*)
1110                os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1111                ;;
1112        # First accept the basic system types.
1113        # The portable systems comes first.
1114        # Each alternative MUST END IN A *, to match a version number.
1115        # -sysv* is not here because it comes later, after sysvr4.
1116        -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1117              | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
1118              | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
1119              | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1120              | -aos* \
1121              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1122              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1123              | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
1124              | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1125              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1126              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1127              | -chorusos* | -chorusrdb* \
1128              | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1129              | -mingw32* | -msys* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
1130              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1131              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1132              | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1133              | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1134              | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1135              | -powermax* | -dnix*)
1136        # Remember, each alternative MUST END IN *, to match a version number.
1137                ;;
1138        -qnx*)
1139                case $basic_machine in
1140                    x86-* | i*86-*)
1141                        ;;
1142                    *)
1143                        os=-nto$os
1144                        ;;
1145                esac
1146                ;;
1147        -nto-qnx*)
1148                ;;
1149        -nto*)
1150                os=`echo $os | sed -e 's|nto|nto-qnx|'`
1151                ;;
1152        -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1153              | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
1154              | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1155                ;;
1156        -mac*)
1157                os=`echo $os | sed -e 's|mac|macos|'`
1158                ;;
1159        -linux*)
1160                os=`echo $os | sed -e 's|linux|linux-gnu|'`
1161                ;;
1162        -sunos5*)
1163                os=`echo $os | sed -e 's|sunos5|solaris2|'`
1164                ;;
1165        -sunos6*)
1166                os=`echo $os | sed -e 's|sunos6|solaris3|'`
1167                ;;
1168        -opened*)
1169                os=-openedition
1170                ;;
1171        -wince*)
1172                os=-wince
1173                ;;
1174        -osfrose*)
1175                os=-osfrose
1176                ;;
1177        -osf*)
1178                os=-osf
1179                ;;
1180        -utek*)
1181                os=-bsd
1182                ;;
1183        -dynix*)
1184                os=-bsd
1185                ;;
1186        -acis*)
1187                os=-aos
1188                ;;
1189        -atheos*)
1190                os=-atheos
1191                ;;
1192        -386bsd)
1193                os=-bsd
1194                ;;
1195        -ctix* | -uts*)
1196                os=-sysv
1197                ;;
1198        -nova*)
1199                os=-rtmk-nova
1200                ;;
1201        -ns2 )
1202                os=-nextstep2
1203                ;;
1204        -nsk*)
1205                os=-nsk
1206                ;;
1207        # Preserve the version number of sinix5.
1208        -sinix5.*)
1209                os=`echo $os | sed -e 's|sinix|sysv|'`
1210                ;;
1211        -sinix*)
1212                os=-sysv4
1213                ;;
1214        -triton*)
1215                os=-sysv3
1216                ;;
1217        -oss*)
1218                os=-sysv3
1219                ;;
1220        -svr4)
1221                os=-sysv4
1222                ;;
1223        -svr3)
1224                os=-sysv3
1225                ;;
1226        -sysvr4)
1227                os=-sysv4
1228                ;;
1229        # This must come after -sysvr4.
1230        -sysv*)
1231                ;;
1232        -ose*)
1233                os=-ose
1234                ;;
1235        -es1800*)
1236                os=-ose
1237                ;;
1238        -xenix)
1239                os=-xenix
1240                ;;
1241        -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1242                os=-mint
1243                ;;
1244        -aros*)
1245                os=-aros
1246                ;;
1247        -kaos*)
1248                os=-kaos
1249                ;;
1250        -none)
1251                ;;
1252        *)
1253                # Get rid of the `-' at the beginning of $os.
1254                os=`echo $os | sed 's/[^-]*-//'`
1255                echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1256                exit 1
1257                ;;
1258esac
1259else
1260
1261# Here we handle the default operating systems that come with various machines.
1262# The value should be what the vendor currently ships out the door with their
1263# machine or put another way, the most popular os provided with the machine.
1264
1265# Note that if you're going to try to match "-MANUFACTURER" here (say,
1266# "-sun"), then you have to tell the case statement up towards the top
1267# that MANUFACTURER isn't an operating system.  Otherwise, code above
1268# will signal an error saying that MANUFACTURER isn't an operating
1269# system, and we'll never get to this point.
1270
1271case $basic_machine in
1272        *-acorn)
1273                os=-riscix1.2
1274                ;;
1275        arm*-rebel)
1276                os=-linux
1277                ;;
1278        arm*-semi)
1279                os=-aout
1280                ;;
1281        # This must come before the *-dec entry.
1282        pdp10-*)
1283                os=-tops20
1284                ;;
1285        pdp11-*)
1286                os=-none
1287                ;;
1288        *-dec | vax-*)
1289                os=-ultrix4.2
1290                ;;
1291        m68*-apollo)
1292                os=-domain
1293                ;;
1294        i386-sun)
1295                os=-sunos4.0.2
1296                ;;
1297        m68000-sun)
1298                os=-sunos3
1299                # This also exists in the configure program, but was not the
1300                # default.
1301                # os=-sunos4
1302                ;;
1303        m68*-cisco)
1304                os=-aout
1305                ;;
1306        mips*-cisco)
1307                os=-elf
1308                ;;
1309        mips*-*)
1310                os=-elf
1311                ;;
1312        or32-*)
1313                os=-coff
1314                ;;
1315        *-tti)  # must be before sparc entry or we get the wrong os.
1316                os=-sysv3
1317                ;;
1318        sparc-* | *-sun)
1319                os=-sunos4.1.1
1320                ;;
1321        *-be)
1322                os=-beos
1323                ;;
1324        *-ibm)
1325                os=-aix
1326                ;;
1327        *-wec)
1328                os=-proelf
1329                ;;
1330        *-winbond)
1331                os=-proelf
1332                ;;
1333        *-oki)
1334                os=-proelf
1335                ;;
1336        *-hp)
1337                os=-hpux
1338                ;;
1339        *-hitachi)
1340                os=-hiux
1341                ;;
1342        i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1343                os=-sysv
1344                ;;
1345        *-cbm)
1346                os=-amigaos
1347                ;;
1348        *-dg)
1349                os=-dgux
1350                ;;
1351        *-dolphin)
1352                os=-sysv3
1353                ;;
1354        m68k-ccur)
1355                os=-rtu
1356                ;;
1357        m88k-omron*)
1358                os=-luna
1359                ;;
1360        *-next )
1361                os=-nextstep
1362                ;;
1363        *-sequent)
1364                os=-ptx
1365                ;;
1366        *-crds)
1367                os=-unos
1368                ;;
1369        *-ns)
1370                os=-genix
1371                ;;
1372        i370-*)
1373                os=-mvs
1374                ;;
1375        *-next)
1376                os=-nextstep3
1377                ;;
1378        *-gould)
1379                os=-sysv
1380                ;;
1381        *-highlevel)
1382                os=-bsd
1383                ;;
1384        *-encore)
1385                os=-bsd
1386                ;;
1387        *-sgi)
1388                os=-irix
1389                ;;
1390        *-siemens)
1391                os=-sysv4
1392                ;;
1393        *-masscomp)
1394                os=-rtu
1395                ;;
1396        f30[01]-fujitsu | f700-fujitsu)
1397                os=-uxpv
1398                ;;
1399        *-rom68k)
1400                os=-coff
1401                ;;
1402        *-*bug)
1403                os=-coff
1404                ;;
1405        *-apple)
1406                os=-macos
1407                ;;
1408        *-atari*)
1409                os=-mint
1410                ;;
1411        *)
1412                os=-none
1413                ;;
1414esac
1415fi
1416
1417# Here we handle the case where we know the os, and the CPU type, but not the
1418# manufacturer.  We pick the logical manufacturer.
1419vendor=unknown
1420case $basic_machine in
1421        *-unknown)
1422                case $os in
1423                        -riscix*)
1424                                vendor=acorn
1425                                ;;
1426                        -sunos*)
1427                                vendor=sun
1428                                ;;
1429                        -aix*)
1430                                vendor=ibm
1431                                ;;
1432                        -beos*)
1433                                vendor=be
1434                                ;;
1435                        -hpux*)
1436                                vendor=hp
1437                                ;;
1438                        -mpeix*)
1439                                vendor=hp
1440                                ;;
1441                        -hiux*)
1442                                vendor=hitachi
1443                                ;;
1444                        -unos*)
1445                                vendor=crds
1446                                ;;
1447                        -dgux*)
1448                                vendor=dg
1449                                ;;
1450                        -luna*)
1451                                vendor=omron
1452                                ;;
1453                        -genix*)
1454                                vendor=ns
1455                                ;;
1456                        -mvs* | -opened*)
1457                                vendor=ibm
1458                                ;;
1459                        -ptx*)
1460                                vendor=sequent
1461                                ;;
1462                        -vxsim* | -vxworks* | -windiss*)
1463                                vendor=wrs
1464                                ;;
1465                        -aux*)
1466                                vendor=apple
1467                                ;;
1468                        -hms*)
1469                                vendor=hitachi
1470                                ;;
1471                        -mpw* | -macos*)
1472                                vendor=apple
1473                                ;;
1474                        -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1475                                vendor=atari
1476                                ;;
1477                        -vos*)
1478                                vendor=stratus
1479                                ;;
1480                esac
1481                basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1482                ;;
1483esac
1484
1485echo $basic_machine$os
1486exit 0
1487
1488# Local variables:
1489# eval: (add-hook 'write-file-hooks 'time-stamp)
1490# time-stamp-start: "timestamp='"
1491# time-stamp-format: "%:y-%02m-%02d"
1492# time-stamp-end: "'"
1493# End:
Note: See TracBrowser for help on using the repository browser.