source: trunk/third/openssh/config.guess @ 18759

Revision 18759, 38.8 KB checked in by zacheiss, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18758, which included commits to RCS files with non-trunk default branches.
  • Property svn:executable set to *
Line 
1#! /bin/sh
2# Attempt to guess a canonical system name.
3#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4#   2000, 2001, 2002 Free Software Foundation, Inc.
5
6timestamp='2002-07-23'
7
8# This file is free software; you can redistribute it and/or modify it
9# under the terms of the GNU General Public License as published by
10# the Free Software Foundation; either version 2 of the License, or
11# (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful, but
14# WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16# General Public License for more details.
17#
18# You should have received a copy of the GNU General Public License
19# along with this program; if not, write to the Free Software
20# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21#
22# As a special exception to the GNU General Public License, if you
23# distribute this file as part of a program that contains a
24# configuration script generated by Autoconf, you may include it under
25# the same distribution terms that you use for the rest of that program.
26
27# Originally written by Per Bothner <per@bothner.com>.
28# Please send patches to <config-patches@gnu.org>.  Submit a context
29# diff and a properly formatted ChangeLog entry.
30#
31# This script attempts to guess a canonical system name similar to
32# config.sub.  If it succeeds, it prints the system name on stdout, and
33# exits with 0.  Otherwise, it exits with 1.
34#
35# The plan is that this can be called by configure scripts if you
36# don't specify an explicit build system type.
37
38me=`echo "$0" | sed -e 's,.*/,,'`
39
40usage="\
41Usage: $0 [OPTION]
42
43Output the configuration name of the system \`$me' is run on.
44
45Operation modes:
46  -h, --help         print this help, then exit
47  -t, --time-stamp   print date of last modification, then exit
48  -v, --version      print version number, then exit
49
50Report bugs and patches to <config-patches@gnu.org>."
51
52version="\
53GNU config.guess ($timestamp)
54
55Originally written by Per Bothner.
56Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
57Free Software Foundation, Inc.
58
59This is free software; see the source for copying conditions.  There is NO
60warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
61
62help="
63Try \`$me --help' for more information."
64
65# Parse command line
66while test $# -gt 0 ; do
67  case $1 in
68    --time-stamp | --time* | -t )
69       echo "$timestamp" ; exit 0 ;;
70    --version | -v )
71       echo "$version" ; exit 0 ;;
72    --help | --h* | -h )
73       echo "$usage"; exit 0 ;;
74    -- )     # Stop option processing
75       shift; break ;;
76    - ) # Use stdin as input.
77       break ;;
78    -* )
79       echo "$me: invalid option $1$help" >&2
80       exit 1 ;;
81    * )
82       break ;;
83  esac
84done
85
86if test $# != 0; then
87  echo "$me: too many arguments$help" >&2
88  exit 1
89fi
90
91trap 'exit 1' 1 2 15
92
93# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
94# compiler to aid in system detection is discouraged as it requires
95# temporary files to be created and, as you can see below, it is a
96# headache to deal with in a portable fashion.
97
98# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
99# use `HOST_CC' if defined, but it is deprecated.
100
101# This shell variable is my proudest work .. or something. --bje
102
103set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ;
104(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old)
105   || (echo "$me: cannot create $tmpdir" >&2 && exit 1) ;
106dummy=$tmpdir/dummy ;
107files="$dummy.c $dummy.o $dummy.rel $dummy" ;
108trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ;
109case $CC_FOR_BUILD,$HOST_CC,$CC in
110 ,,)    echo "int x;" > $dummy.c ;
111        for c in cc gcc c89 c99 ; do
112          if ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; then
113             CC_FOR_BUILD="$c"; break ;
114          fi ;
115        done ;
116        rm -f $files ;
117        if test x"$CC_FOR_BUILD" = x ; then
118          CC_FOR_BUILD=no_compiler_found ;
119        fi
120        ;;
121 ,,*)   CC_FOR_BUILD=$CC ;;
122 ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
123esac ;
124unset files'
125
126# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
127# (ghazi@noc.rutgers.edu 1994-08-24)
128if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
129        PATH=$PATH:/.attbin ; export PATH
130fi
131
132UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
133UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
134UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
135UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
136
137# Note: order is significant - the case branches are not exclusive.
138
139case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
140    *:NetBSD:*:*)
141        # NetBSD (nbsd) targets should (where applicable) match one or
142        # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
143        # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
144        # switched to ELF, *-*-netbsd* would select the old
145        # object file format.  This provides both forward
146        # compatibility and a consistent mechanism for selecting the
147        # object file format.
148        #
149        # Note: NetBSD doesn't particularly care about the vendor
150        # portion of the name.  We always set it to "unknown".
151        sysctl="sysctl -n hw.machine_arch"
152        UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
153            /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
154        case "${UNAME_MACHINE_ARCH}" in
155            armeb) machine=armeb-unknown ;;
156            arm*) machine=arm-unknown ;;
157            sh3el) machine=shl-unknown ;;
158            sh3eb) machine=sh-unknown ;;
159            *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
160        esac
161        # The Operating System including object format, if it has switched
162        # to ELF recently, or will in the future.
163        case "${UNAME_MACHINE_ARCH}" in
164            arm*|i386|m68k|ns32k|sh3*|sparc|vax)
165                eval $set_cc_for_build
166                if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
167                        | grep __ELF__ >/dev/null
168                then
169                    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
170                    # Return netbsd for either.  FIX?
171                    os=netbsd
172                else
173                    os=netbsdelf
174                fi
175                ;;
176            *)
177                os=netbsd
178                ;;
179        esac
180        # The OS release
181        release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
182        # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
183        # contains redundant information, the shorter form:
184        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
185        echo "${machine}-${os}${release}"
186        exit 0 ;;
187    amiga:OpenBSD:*:*)
188        echo m68k-unknown-openbsd${UNAME_RELEASE}
189        exit 0 ;;
190    arc:OpenBSD:*:*)
191        echo mipsel-unknown-openbsd${UNAME_RELEASE}
192        exit 0 ;;
193    hp300:OpenBSD:*:*)
194        echo m68k-unknown-openbsd${UNAME_RELEASE}
195        exit 0 ;;
196    mac68k:OpenBSD:*:*)
197        echo m68k-unknown-openbsd${UNAME_RELEASE}
198        exit 0 ;;
199    macppc:OpenBSD:*:*)
200        echo powerpc-unknown-openbsd${UNAME_RELEASE}
201        exit 0 ;;
202    mvme68k:OpenBSD:*:*)
203        echo m68k-unknown-openbsd${UNAME_RELEASE}
204        exit 0 ;;
205    mvme88k:OpenBSD:*:*)
206        echo m88k-unknown-openbsd${UNAME_RELEASE}
207        exit 0 ;;
208    mvmeppc:OpenBSD:*:*)
209        echo powerpc-unknown-openbsd${UNAME_RELEASE}
210        exit 0 ;;
211    pmax:OpenBSD:*:*)
212        echo mipsel-unknown-openbsd${UNAME_RELEASE}
213        exit 0 ;;
214    sgi:OpenBSD:*:*)
215        echo mipseb-unknown-openbsd${UNAME_RELEASE}
216        exit 0 ;;
217    sun3:OpenBSD:*:*)
218        echo m68k-unknown-openbsd${UNAME_RELEASE}
219        exit 0 ;;
220    wgrisc:OpenBSD:*:*)
221        echo mipsel-unknown-openbsd${UNAME_RELEASE}
222        exit 0 ;;
223    *:OpenBSD:*:*)
224        echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
225        exit 0 ;;
226    alpha:OSF1:*:*)
227        if test $UNAME_RELEASE = "V4.0"; then
228                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
229        fi
230        # A Vn.n version is a released version.
231        # A Tn.n version is a released field test version.
232        # A Xn.n version is an unreleased experimental baselevel.
233        # 1.2 uses "1.2" for uname -r.
234        eval $set_cc_for_build
235        cat <<EOF >$dummy.s
236        .data
237\$Lformat:
238        .byte 37,100,45,37,120,10,0     # "%d-%x\n"
239
240        .text
241        .globl main
242        .align 4
243        .ent main
244main:
245        .frame \$30,16,\$26,0
246        ldgp \$29,0(\$27)
247        .prologue 1
248        .long 0x47e03d80 # implver \$0
249        lda \$2,-1
250        .long 0x47e20c21 # amask \$2,\$1
251        lda \$16,\$Lformat
252        mov \$0,\$17
253        not \$1,\$18
254        jsr \$26,printf
255        ldgp \$29,0(\$26)
256        mov 0,\$16
257        jsr \$26,exit
258        .end main
259EOF
260        $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
261        if test "$?" = 0 ; then
262                case `$dummy` in
263                        0-0)
264                                UNAME_MACHINE="alpha"
265                                ;;
266                        1-0)
267                                UNAME_MACHINE="alphaev5"
268                                ;;
269                        1-1)
270                                UNAME_MACHINE="alphaev56"
271                                ;;
272                        1-101)
273                                UNAME_MACHINE="alphapca56"
274                                ;;
275                        2-303)
276                                UNAME_MACHINE="alphaev6"
277                                ;;
278                        2-307)
279                                UNAME_MACHINE="alphaev67"
280                                ;;
281                        2-1307)
282                                UNAME_MACHINE="alphaev68"
283                                ;;
284                        3-1307)
285                                UNAME_MACHINE="alphaev7"
286                                ;;
287                esac
288        fi
289        rm -f $dummy.s $dummy && rmdir $tmpdir
290        echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
291        exit 0 ;;
292    Alpha\ *:Windows_NT*:*)
293        # How do we know it's Interix rather than the generic POSIX subsystem?
294        # Should we change UNAME_MACHINE based on the output of uname instead
295        # of the specific Alpha model?
296        echo alpha-pc-interix
297        exit 0 ;;
298    21064:Windows_NT:50:3)
299        echo alpha-dec-winnt3.5
300        exit 0 ;;
301    Amiga*:UNIX_System_V:4.0:*)
302        echo m68k-unknown-sysv4
303        exit 0;;
304    *:[Aa]miga[Oo][Ss]:*:*)
305        echo ${UNAME_MACHINE}-unknown-amigaos
306        exit 0 ;;
307    *:[Mm]orph[Oo][Ss]:*:*)
308        echo ${UNAME_MACHINE}-unknown-morphos
309        exit 0 ;;
310    *:OS/390:*:*)
311        echo i370-ibm-openedition
312        exit 0 ;;
313    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
314        echo arm-acorn-riscix${UNAME_RELEASE}
315        exit 0;;
316    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
317        echo hppa1.1-hitachi-hiuxmpp
318        exit 0;;
319    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
320        # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
321        if test "`(/bin/universe) 2>/dev/null`" = att ; then
322                echo pyramid-pyramid-sysv3
323        else
324                echo pyramid-pyramid-bsd
325        fi
326        exit 0 ;;
327    NILE*:*:*:dcosx)
328        echo pyramid-pyramid-svr4
329        exit 0 ;;
330    DRS?6000:UNIX_SV:4.2*:7*)
331        case `/usr/bin/uname -p` in
332            sparc) echo sparc-icl-nx7 && exit 0 ;;
333        esac ;;
334    sun4H:SunOS:5.*:*)
335        echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
336        exit 0 ;;
337    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
338        echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
339        exit 0 ;;
340    i86pc:SunOS:5.*:*)
341        echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
342        exit 0 ;;
343    sun4*:SunOS:6*:*)
344        # According to config.sub, this is the proper way to canonicalize
345        # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
346        # it's likely to be more like Solaris than SunOS4.
347        echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
348        exit 0 ;;
349    sun4*:SunOS:*:*)
350        case "`/usr/bin/arch -k`" in
351            Series*|S4*)
352                UNAME_RELEASE=`uname -v`
353                ;;
354        esac
355        # Japanese Language versions have a version number like `4.1.3-JL'.
356        echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
357        exit 0 ;;
358    sun3*:SunOS:*:*)
359        echo m68k-sun-sunos${UNAME_RELEASE}
360        exit 0 ;;
361    sun*:*:4.2BSD:*)
362        UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
363        test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
364        case "`/bin/arch`" in
365            sun3)
366                echo m68k-sun-sunos${UNAME_RELEASE}
367                ;;
368            sun4)
369                echo sparc-sun-sunos${UNAME_RELEASE}
370                ;;
371        esac
372        exit 0 ;;
373    aushp:SunOS:*:*)
374        echo sparc-auspex-sunos${UNAME_RELEASE}
375        exit 0 ;;
376    # The situation for MiNT is a little confusing.  The machine name
377    # can be virtually everything (everything which is not
378    # "atarist" or "atariste" at least should have a processor
379    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
380    # to the lowercase version "mint" (or "freemint").  Finally
381    # the system name "TOS" denotes a system which is actually not
382    # MiNT.  But MiNT is downward compatible to TOS, so this should
383    # be no problem.
384    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
385        echo m68k-atari-mint${UNAME_RELEASE}
386        exit 0 ;;
387    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
388        echo m68k-atari-mint${UNAME_RELEASE}
389        exit 0 ;;
390    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
391        echo m68k-atari-mint${UNAME_RELEASE}
392        exit 0 ;;
393    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
394        echo m68k-milan-mint${UNAME_RELEASE}
395        exit 0 ;;
396    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
397        echo m68k-hades-mint${UNAME_RELEASE}
398        exit 0 ;;
399    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
400        echo m68k-unknown-mint${UNAME_RELEASE}
401        exit 0 ;;
402    powerpc:machten:*:*)
403        echo powerpc-apple-machten${UNAME_RELEASE}
404        exit 0 ;;
405    RISC*:Mach:*:*)
406        echo mips-dec-mach_bsd4.3
407        exit 0 ;;
408    RISC*:ULTRIX:*:*)
409        echo mips-dec-ultrix${UNAME_RELEASE}
410        exit 0 ;;
411    VAX*:ULTRIX*:*:*)
412        echo vax-dec-ultrix${UNAME_RELEASE}
413        exit 0 ;;
414    2020:CLIX:*:* | 2430:CLIX:*:*)
415        echo clipper-intergraph-clix${UNAME_RELEASE}
416        exit 0 ;;
417    mips:*:*:UMIPS | mips:*:*:RISCos)
418        eval $set_cc_for_build
419        sed 's/^        //' << EOF >$dummy.c
420#ifdef __cplusplus
421#include <stdio.h>  /* for printf() prototype */
422        int main (int argc, char *argv[]) {
423#else
424        int main (argc, argv) int argc; char *argv[]; {
425#endif
426        #if defined (host_mips) && defined (MIPSEB)
427        #if defined (SYSTYPE_SYSV)
428          printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
429        #endif
430        #if defined (SYSTYPE_SVR4)
431          printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
432        #endif
433        #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
434          printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
435        #endif
436        #endif
437          exit (-1);
438        }
439EOF
440        $CC_FOR_BUILD $dummy.c -o $dummy \
441          && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
442          && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
443        rm -f $dummy.c $dummy && rmdir $tmpdir
444        echo mips-mips-riscos${UNAME_RELEASE}
445        exit 0 ;;
446    Motorola:PowerMAX_OS:*:*)
447        echo powerpc-motorola-powermax
448        exit 0 ;;
449    Night_Hawk:*:*:PowerMAX_OS)
450        echo powerpc-harris-powermax
451        exit 0 ;;
452    Night_Hawk:Power_UNIX:*:*)
453        echo powerpc-harris-powerunix
454        exit 0 ;;
455    m88k:CX/UX:7*:*)
456        echo m88k-harris-cxux7
457        exit 0 ;;
458    m88k:*:4*:R4*)
459        echo m88k-motorola-sysv4
460        exit 0 ;;
461    m88k:*:3*:R3*)
462        echo m88k-motorola-sysv3
463        exit 0 ;;
464    AViiON:dgux:*:*)
465        # DG/UX returns AViiON for all architectures
466        UNAME_PROCESSOR=`/usr/bin/uname -p`
467        if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
468        then
469            if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
470               [ ${TARGET_BINARY_INTERFACE}x = x ]
471            then
472                echo m88k-dg-dgux${UNAME_RELEASE}
473            else
474                echo m88k-dg-dguxbcs${UNAME_RELEASE}
475            fi
476        else
477            echo i586-dg-dgux${UNAME_RELEASE}
478        fi
479        exit 0 ;;
480    M88*:DolphinOS:*:*) # DolphinOS (SVR3)
481        echo m88k-dolphin-sysv3
482        exit 0 ;;
483    M88*:*:R3*:*)
484        # Delta 88k system running SVR3
485        echo m88k-motorola-sysv3
486        exit 0 ;;
487    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
488        echo m88k-tektronix-sysv3
489        exit 0 ;;
490    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
491        echo m68k-tektronix-bsd
492        exit 0 ;;
493    *:IRIX*:*:*)
494        echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
495        exit 0 ;;
496    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
497        echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
498        exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
499    i*86:AIX:*:*)
500        echo i386-ibm-aix
501        exit 0 ;;
502    ia64:AIX:*:*)
503        if [ -x /usr/bin/oslevel ] ; then
504                IBM_REV=`/usr/bin/oslevel`
505        else
506                IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
507        fi
508        echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
509        exit 0 ;;
510    *:AIX:2:3)
511        if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
512                eval $set_cc_for_build
513                sed 's/^                //' << EOF >$dummy.c
514                #include <sys/systemcfg.h>
515
516                main()
517                        {
518                        if (!__power_pc())
519                                exit(1);
520                        puts("powerpc-ibm-aix3.2.5");
521                        exit(0);
522                        }
523EOF
524                $CC_FOR_BUILD $dummy.c -o $dummy && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
525                rm -f $dummy.c $dummy && rmdir $tmpdir
526                echo rs6000-ibm-aix3.2.5
527        elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
528                echo rs6000-ibm-aix3.2.4
529        else
530                echo rs6000-ibm-aix3.2
531        fi
532        exit 0 ;;
533    *:AIX:*:[45])
534        IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
535        if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
536                IBM_ARCH=rs6000
537        else
538                IBM_ARCH=powerpc
539        fi
540        if [ -x /usr/bin/oslevel ] ; then
541                IBM_REV=`/usr/bin/oslevel`
542        else
543                IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
544        fi
545        echo ${IBM_ARCH}-ibm-aix${IBM_REV}
546        exit 0 ;;
547    *:AIX:*:*)
548        echo rs6000-ibm-aix
549        exit 0 ;;
550    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
551        echo romp-ibm-bsd4.4
552        exit 0 ;;
553    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
554        echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
555        exit 0 ;;                           # report: romp-ibm BSD 4.3
556    *:BOSX:*:*)
557        echo rs6000-bull-bosx
558        exit 0 ;;
559    DPX/2?00:B.O.S.:*:*)
560        echo m68k-bull-sysv3
561        exit 0 ;;
562    9000/[34]??:4.3bsd:1.*:*)
563        echo m68k-hp-bsd
564        exit 0 ;;
565    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
566        echo m68k-hp-bsd4.4
567        exit 0 ;;
568    9000/[34678]??:HP-UX:*:*)
569        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
570        case "${UNAME_MACHINE}" in
571            9000/31? )            HP_ARCH=m68000 ;;
572            9000/[34]?? )         HP_ARCH=m68k ;;
573            9000/[678][0-9][0-9])
574                if [ -x /usr/bin/getconf ]; then
575                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
576                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
577                    case "${sc_cpu_version}" in
578                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
579                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
580                      532)                      # CPU_PA_RISC2_0
581                        case "${sc_kernel_bits}" in
582                          32) HP_ARCH="hppa2.0n" ;;
583                          64) HP_ARCH="hppa2.0w" ;;
584                          '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
585                        esac ;;
586                    esac
587                fi
588                if [ "${HP_ARCH}" = "" ]; then
589                    eval $set_cc_for_build
590                    sed 's/^              //' << EOF >$dummy.c
591
592              #define _HPUX_SOURCE
593              #include <stdlib.h>
594              #include <unistd.h>
595
596              int main ()
597              {
598              #if defined(_SC_KERNEL_BITS)
599                  long bits = sysconf(_SC_KERNEL_BITS);
600              #endif
601                  long cpu  = sysconf (_SC_CPU_VERSION);
602
603                  switch (cpu)
604                {
605                case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
606                case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
607                case CPU_PA_RISC2_0:
608              #if defined(_SC_KERNEL_BITS)
609                    switch (bits)
610                        {
611                        case 64: puts ("hppa2.0w"); break;
612                        case 32: puts ("hppa2.0n"); break;
613                        default: puts ("hppa2.0"); break;
614                        } break;
615              #else  /* !defined(_SC_KERNEL_BITS) */
616                    puts ("hppa2.0"); break;
617              #endif
618                default: puts ("hppa1.0"); break;
619                }
620                  exit (0);
621              }
622EOF
623                    (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`$dummy`
624                    if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
625                    rm -f $dummy.c $dummy && rmdir $tmpdir
626                fi ;;
627        esac
628        echo ${HP_ARCH}-hp-hpux${HPUX_REV}
629        exit 0 ;;
630    ia64:HP-UX:*:*)
631        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
632        echo ia64-hp-hpux${HPUX_REV}
633        exit 0 ;;
634    3050*:HI-UX:*:*)
635        eval $set_cc_for_build
636        sed 's/^        //' << EOF >$dummy.c
637        #include <unistd.h>
638        int
639        main ()
640        {
641          long cpu = sysconf (_SC_CPU_VERSION);
642          /* The order matters, because CPU_IS_HP_MC68K erroneously returns
643             true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
644             results, however.  */
645          if (CPU_IS_PA_RISC (cpu))
646            {
647              switch (cpu)
648                {
649                  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
650                  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
651                  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
652                  default: puts ("hppa-hitachi-hiuxwe2"); break;
653                }
654            }
655          else if (CPU_IS_HP_MC68K (cpu))
656            puts ("m68k-hitachi-hiuxwe2");
657          else puts ("unknown-hitachi-hiuxwe2");
658          exit (0);
659        }
660EOF
661        $CC_FOR_BUILD $dummy.c -o $dummy && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
662        rm -f $dummy.c $dummy && rmdir $tmpdir
663        echo unknown-hitachi-hiuxwe2
664        exit 0 ;;
665    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
666        echo hppa1.1-hp-bsd
667        exit 0 ;;
668    9000/8??:4.3bsd:*:*)
669        echo hppa1.0-hp-bsd
670        exit 0 ;;
671    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
672        echo hppa1.0-hp-mpeix
673        exit 0 ;;
674    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
675        echo hppa1.1-hp-osf
676        exit 0 ;;
677    hp8??:OSF1:*:*)
678        echo hppa1.0-hp-osf
679        exit 0 ;;
680    i*86:OSF1:*:*)
681        if [ -x /usr/sbin/sysversion ] ; then
682            echo ${UNAME_MACHINE}-unknown-osf1mk
683        else
684            echo ${UNAME_MACHINE}-unknown-osf1
685        fi
686        exit 0 ;;
687    parisc*:Lites*:*:*)
688        echo hppa1.1-hp-lites
689        exit 0 ;;
690    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
691        echo c1-convex-bsd
692        exit 0 ;;
693    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
694        if getsysinfo -f scalar_acc
695        then echo c32-convex-bsd
696        else echo c2-convex-bsd
697        fi
698        exit 0 ;;
699    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
700        echo c34-convex-bsd
701        exit 0 ;;
702    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
703        echo c38-convex-bsd
704        exit 0 ;;
705    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
706        echo c4-convex-bsd
707        exit 0 ;;
708    CRAY*Y-MP:*:*:*)
709        echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
710        exit 0 ;;
711    CRAY*[A-Z]90:*:*:*)
712        echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
713        | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
714              -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
715              -e 's/\.[^.]*$/.X/'
716        exit 0 ;;
717    CRAY*TS:*:*:*)
718        echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
719        exit 0 ;;
720    CRAY*T3D:*:*:*)
721        echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
722        exit 0 ;;
723    CRAY*T3E:*:*:*)
724        echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
725        exit 0 ;;
726    CRAY*SV1:*:*:*)
727        echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
728        exit 0 ;;
729    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
730        FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
731        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
732        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
733        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
734        exit 0 ;;
735    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
736        echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
737        exit 0 ;;
738    sparc*:BSD/OS:*:*)
739        echo sparc-unknown-bsdi${UNAME_RELEASE}
740        exit 0 ;;
741    *:BSD/OS:*:*)
742        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
743        exit 0 ;;
744    *:FreeBSD:*:*)
745        # Determine whether the default compiler uses glibc.
746        eval $set_cc_for_build
747        sed 's/^        //' << EOF >$dummy.c
748        #include <features.h>
749        #if __GLIBC__ >= 2
750        LIBC=gnu
751        #else
752        LIBC=
753        #endif
754EOF
755        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
756        rm -f $dummy.c && rmdir $tmpdir
757        echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
758        exit 0 ;;
759    i*:CYGWIN*:*)
760        echo ${UNAME_MACHINE}-pc-cygwin
761        exit 0 ;;
762    i*:MINGW*:*)
763        echo ${UNAME_MACHINE}-pc-mingw32
764        exit 0 ;;
765    i*:PW*:*)
766        echo ${UNAME_MACHINE}-pc-pw32
767        exit 0 ;;
768    x86:Interix*:3*)
769        echo i386-pc-interix3
770        exit 0 ;;
771    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
772        # How do we know it's Interix rather than the generic POSIX subsystem?
773        # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
774        # UNAME_MACHINE based on the output of uname instead of i386?
775        echo i386-pc-interix
776        exit 0 ;;
777    i*:UWIN*:*)
778        echo ${UNAME_MACHINE}-pc-uwin
779        exit 0 ;;
780    p*:CYGWIN*:*)
781        echo powerpcle-unknown-cygwin
782        exit 0 ;;
783    prep*:SunOS:5.*:*)
784        echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
785        exit 0 ;;
786    *:GNU:*:*)
787        echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
788        exit 0 ;;
789    i*86:Minix:*:*)
790        echo ${UNAME_MACHINE}-pc-minix
791        exit 0 ;;
792    arm*:Linux:*:*)
793        echo ${UNAME_MACHINE}-unknown-linux-gnu
794        exit 0 ;;
795    ia64:Linux:*:*)
796        echo ${UNAME_MACHINE}-unknown-linux-gnu
797        exit 0 ;;
798    m68*:Linux:*:*)
799        echo ${UNAME_MACHINE}-unknown-linux-gnu
800        exit 0 ;;
801    mips:Linux:*:*)
802        eval $set_cc_for_build
803        sed 's/^        //' << EOF >$dummy.c
804        #undef CPU
805        #undef mips
806        #undef mipsel
807        #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
808        CPU=mipsel
809        #else
810        #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
811        CPU=mips
812        #else
813        CPU=
814        #endif
815        #endif
816EOF
817        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
818        rm -f $dummy.c && rmdir $tmpdir
819        test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
820        ;;
821    ppc:Linux:*:*)
822        echo powerpc-unknown-linux-gnu
823        exit 0 ;;
824    ppc64:Linux:*:*)
825        echo powerpc64-unknown-linux-gnu
826        exit 0 ;;
827    alpha:Linux:*:*)
828        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
829          EV5)   UNAME_MACHINE=alphaev5 ;;
830          EV56)  UNAME_MACHINE=alphaev56 ;;
831          PCA56) UNAME_MACHINE=alphapca56 ;;
832          PCA57) UNAME_MACHINE=alphapca56 ;;
833          EV6)   UNAME_MACHINE=alphaev6 ;;
834          EV67)  UNAME_MACHINE=alphaev67 ;;
835          EV68*) UNAME_MACHINE=alphaev68 ;;
836        esac
837        objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
838        if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
839        echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
840        exit 0 ;;
841    parisc:Linux:*:* | hppa:Linux:*:*)
842        # Look for CPU level
843        case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
844          PA7*) echo hppa1.1-unknown-linux-gnu ;;
845          PA8*) echo hppa2.0-unknown-linux-gnu ;;
846          *)    echo hppa-unknown-linux-gnu ;;
847        esac
848        exit 0 ;;
849    parisc64:Linux:*:* | hppa64:Linux:*:*)
850        echo hppa64-unknown-linux-gnu
851        exit 0 ;;
852    s390:Linux:*:* | s390x:Linux:*:*)
853        echo ${UNAME_MACHINE}-ibm-linux
854        exit 0 ;;
855    sh*:Linux:*:*)
856        echo ${UNAME_MACHINE}-unknown-linux-gnu
857        exit 0 ;;
858    sparc:Linux:*:* | sparc64:Linux:*:*)
859        echo ${UNAME_MACHINE}-unknown-linux-gnu
860        exit 0 ;;
861    x86_64:Linux:*:*)
862        echo x86_64-unknown-linux-gnu
863        exit 0 ;;
864    i*86:Linux:*:*)
865        # The BFD linker knows what the default object file format is, so
866        # first see if it will tell us. cd to the root directory to prevent
867        # problems with other programs or directories called `ld' in the path.
868        # Set LC_ALL=C to ensure ld outputs messages in English.
869        ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
870                         | sed -ne '/supported targets:/!d
871                                    s/[         ][      ]*/ /g
872                                    s/.*supported targets: *//
873                                    s/ .*//
874                                    p'`
875        case "$ld_supported_targets" in
876          elf32-i386)
877                TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
878                ;;
879          a.out-i386-linux)
880                echo "${UNAME_MACHINE}-pc-linux-gnuaout"
881                exit 0 ;;
882          coff-i386)
883                echo "${UNAME_MACHINE}-pc-linux-gnucoff"
884                exit 0 ;;
885          "")
886                # Either a pre-BFD a.out linker (linux-gnuoldld) or
887                # one that does not give us useful --help.
888                echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
889                exit 0 ;;
890        esac
891        # Determine whether the default compiler is a.out or elf
892        eval $set_cc_for_build
893        sed 's/^        //' << EOF >$dummy.c
894        #include <features.h>
895        #ifdef __ELF__
896        # ifdef __GLIBC__
897        #  if __GLIBC__ >= 2
898        LIBC=gnu
899        #  else
900        LIBC=gnulibc1
901        #  endif
902        # else
903        LIBC=gnulibc1
904        # endif
905        #else
906        #ifdef __INTEL_COMPILER
907        LIBC=gnu
908        #else
909        LIBC=gnuaout
910        #endif
911        #endif
912EOF
913        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
914        rm -f $dummy.c && rmdir $tmpdir
915        test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
916        test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
917        ;;
918    i*86:DYNIX/ptx:4*:*)
919        # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
920        # earlier versions are messed up and put the nodename in both
921        # sysname and nodename.
922        echo i386-sequent-sysv4
923        exit 0 ;;
924    i*86:UNIX_SV:4.2MP:2.*)
925        # Unixware is an offshoot of SVR4, but it has its own version
926        # number series starting with 2...
927        # I am not positive that other SVR4 systems won't match this,
928        # I just have to hope.  -- rms.
929        # Use sysv4.2uw... so that sysv4* matches it.
930        echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
931        exit 0 ;;
932    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
933        UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
934        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
935                echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
936        else
937                echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
938        fi
939        exit 0 ;;
940    i*86:*:5:[78]*)
941        case `/bin/uname -X | grep "^Machine"` in
942            *486*)           UNAME_MACHINE=i486 ;;
943            *Pentium)        UNAME_MACHINE=i586 ;;
944            *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
945        esac
946        echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
947        exit 0 ;;
948    i*86:*:3.2:*)
949        if test -f /usr/options/cb.name; then
950                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
951                echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
952        elif /bin/uname -X 2>/dev/null >/dev/null ; then
953                UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
954                (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
955                (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
956                        && UNAME_MACHINE=i586
957                (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
958                        && UNAME_MACHINE=i686
959                (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
960                        && UNAME_MACHINE=i686
961                echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
962        else
963                echo ${UNAME_MACHINE}-pc-sysv32
964        fi
965        exit 0 ;;
966    i*86:*DOS:*:*)
967        echo ${UNAME_MACHINE}-pc-msdosdjgpp
968        exit 0 ;;
969    pc:*:*:*)
970        # Left here for compatibility:
971        # uname -m prints for DJGPP always 'pc', but it prints nothing about
972        # the processor, so we play safe by assuming i386.
973        echo i386-pc-msdosdjgpp
974        exit 0 ;;
975    Intel:Mach:3*:*)
976        echo i386-pc-mach3
977        exit 0 ;;
978    paragon:*:*:*)
979        echo i860-intel-osf1
980        exit 0 ;;
981    i860:*:4.*:*) # i860-SVR4
982        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
983          echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
984        else # Add other i860-SVR4 vendors below as they are discovered.
985          echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
986        fi
987        exit 0 ;;
988    mini*:CTIX:SYS*5:*)
989        # "miniframe"
990        echo m68010-convergent-sysv
991        exit 0 ;;
992    M68*:*:R3V[567]*:*)
993        test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
994    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
995        OS_REL=''
996        test -r /etc/.relid \
997        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
998        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
999          && echo i486-ncr-sysv4.3${OS_REL} && exit 0
1000        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1001          && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1002    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1003        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1004          && echo i486-ncr-sysv4 && exit 0 ;;
1005    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1006        echo m68k-unknown-lynxos${UNAME_RELEASE}
1007        exit 0 ;;
1008    mc68030:UNIX_System_V:4.*:*)
1009        echo m68k-atari-sysv4
1010        exit 0 ;;
1011    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1012        echo i386-unknown-lynxos${UNAME_RELEASE}
1013        exit 0 ;;
1014    TSUNAMI:LynxOS:2.*:*)
1015        echo sparc-unknown-lynxos${UNAME_RELEASE}
1016        exit 0 ;;
1017    rs6000:LynxOS:2.*:*)
1018        echo rs6000-unknown-lynxos${UNAME_RELEASE}
1019        exit 0 ;;
1020    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1021        echo powerpc-unknown-lynxos${UNAME_RELEASE}
1022        exit 0 ;;
1023    SM[BE]S:UNIX_SV:*:*)
1024        echo mips-dde-sysv${UNAME_RELEASE}
1025        exit 0 ;;
1026    RM*:ReliantUNIX-*:*:*)
1027        echo mips-sni-sysv4
1028        exit 0 ;;
1029    RM*:SINIX-*:*:*)
1030        echo mips-sni-sysv4
1031        exit 0 ;;
1032    *:SINIX-*:*:*)
1033        if uname -p 2>/dev/null >/dev/null ; then
1034                UNAME_MACHINE=`(uname -p) 2>/dev/null`
1035                echo ${UNAME_MACHINE}-sni-sysv4
1036        else
1037                echo ns32k-sni-sysv
1038        fi
1039        exit 0 ;;
1040    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1041                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1042        echo i586-unisys-sysv4
1043        exit 0 ;;
1044    *:UNIX_System_V:4*:FTX*)
1045        # From Gerald Hewes <hewes@openmarket.com>.
1046        # How about differentiating between stratus architectures? -djm
1047        echo hppa1.1-stratus-sysv4
1048        exit 0 ;;
1049    *:*:*:FTX*)
1050        # From seanf@swdc.stratus.com.
1051        echo i860-stratus-sysv4
1052        exit 0 ;;
1053    *:VOS:*:*)
1054        # From Paul.Green@stratus.com.
1055        echo hppa1.1-stratus-vos
1056        exit 0 ;;
1057    mc68*:A/UX:*:*)
1058        echo m68k-apple-aux${UNAME_RELEASE}
1059        exit 0 ;;
1060    news*:NEWS-OS:6*:*)
1061        echo mips-sony-newsos6
1062        exit 0 ;;
1063    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1064        if [ -d /usr/nec ]; then
1065                echo mips-nec-sysv${UNAME_RELEASE}
1066        else
1067                echo mips-unknown-sysv${UNAME_RELEASE}
1068        fi
1069        exit 0 ;;
1070    BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
1071        echo powerpc-be-beos
1072        exit 0 ;;
1073    BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
1074        echo powerpc-apple-beos
1075        exit 0 ;;
1076    BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
1077        echo i586-pc-beos
1078        exit 0 ;;
1079    SX-4:SUPER-UX:*:*)
1080        echo sx4-nec-superux${UNAME_RELEASE}
1081        exit 0 ;;
1082    SX-5:SUPER-UX:*:*)
1083        echo sx5-nec-superux${UNAME_RELEASE}
1084        exit 0 ;;
1085    Power*:Rhapsody:*:*)
1086        echo powerpc-apple-rhapsody${UNAME_RELEASE}
1087        exit 0 ;;
1088    *:Rhapsody:*:*)
1089        echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1090        exit 0 ;;
1091    *:Darwin:*:*)
1092        echo `uname -p`-apple-darwin${UNAME_RELEASE}
1093        exit 0 ;;
1094    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1095        UNAME_PROCESSOR=`uname -p`
1096        if test "$UNAME_PROCESSOR" = "x86"; then
1097                UNAME_PROCESSOR=i386
1098                UNAME_MACHINE=pc
1099        fi
1100        echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1101        exit 0 ;;
1102    *:QNX:*:4*)
1103        echo i386-pc-qnx
1104        exit 0 ;;
1105    NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
1106        echo nsr-tandem-nsk${UNAME_RELEASE}
1107        exit 0 ;;
1108    *:NonStop-UX:*:*)
1109        echo mips-compaq-nonstopux
1110        exit 0 ;;
1111    BS2000:POSIX*:*:*)
1112        echo bs2000-siemens-sysv
1113        exit 0 ;;
1114    DS/*:UNIX_System_V:*:*)
1115        echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1116        exit 0 ;;
1117    *:Plan9:*:*)
1118        # "uname -m" is not consistent, so use $cputype instead. 386
1119        # is converted to i386 for consistency with other x86
1120        # operating systems.
1121        if test "$cputype" = "386"; then
1122            UNAME_MACHINE=i386
1123        else
1124            UNAME_MACHINE="$cputype"
1125        fi
1126        echo ${UNAME_MACHINE}-unknown-plan9
1127        exit 0 ;;
1128    i*86:OS/2:*:*)
1129        # If we were able to find `uname', then EMX Unix compatibility
1130        # is probably installed.
1131        echo ${UNAME_MACHINE}-pc-os2-emx
1132        exit 0 ;;
1133    *:TOPS-10:*:*)
1134        echo pdp10-unknown-tops10
1135        exit 0 ;;
1136    *:TENEX:*:*)
1137        echo pdp10-unknown-tenex
1138        exit 0 ;;
1139    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1140        echo pdp10-dec-tops20
1141        exit 0 ;;
1142    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1143        echo pdp10-xkl-tops20
1144        exit 0 ;;
1145    *:TOPS-20:*:*)
1146        echo pdp10-unknown-tops20
1147        exit 0 ;;
1148    *:ITS:*:*)
1149        echo pdp10-unknown-its
1150        exit 0 ;;
1151    i*86:XTS-300:*:STOP)
1152        echo ${UNAME_MACHINE}-unknown-stop
1153        exit 0 ;;
1154    i*86:atheos:*:*)
1155        echo ${UNAME_MACHINE}-unknown-atheos
1156        exit 0 ;;
1157esac
1158
1159#echo '(No uname command or uname output not recognized.)' 1>&2
1160#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1161
1162eval $set_cc_for_build
1163cat >$dummy.c <<EOF
1164#ifdef _SEQUENT_
1165# include <sys/types.h>
1166# include <sys/utsname.h>
1167#endif
1168main ()
1169{
1170#if defined (sony)
1171#if defined (MIPSEB)
1172  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1173     I don't know....  */
1174  printf ("mips-sony-bsd\n"); exit (0);
1175#else
1176#include <sys/param.h>
1177  printf ("m68k-sony-newsos%s\n",
1178#ifdef NEWSOS4
1179          "4"
1180#else
1181          ""
1182#endif
1183         ); exit (0);
1184#endif
1185#endif
1186
1187#if defined (__arm) && defined (__acorn) && defined (__unix)
1188  printf ("arm-acorn-riscix"); exit (0);
1189#endif
1190
1191#if defined (hp300) && !defined (hpux)
1192  printf ("m68k-hp-bsd\n"); exit (0);
1193#endif
1194
1195#if defined (NeXT)
1196#if !defined (__ARCHITECTURE__)
1197#define __ARCHITECTURE__ "m68k"
1198#endif
1199  int version;
1200  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1201  if (version < 4)
1202    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1203  else
1204    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1205  exit (0);
1206#endif
1207
1208#if defined (MULTIMAX) || defined (n16)
1209#if defined (UMAXV)
1210  printf ("ns32k-encore-sysv\n"); exit (0);
1211#else
1212#if defined (CMU)
1213  printf ("ns32k-encore-mach\n"); exit (0);
1214#else
1215  printf ("ns32k-encore-bsd\n"); exit (0);
1216#endif
1217#endif
1218#endif
1219
1220#if defined (__386BSD__)
1221  printf ("i386-pc-bsd\n"); exit (0);
1222#endif
1223
1224#if defined (sequent)
1225#if defined (i386)
1226  printf ("i386-sequent-dynix\n"); exit (0);
1227#endif
1228#if defined (ns32000)
1229  printf ("ns32k-sequent-dynix\n"); exit (0);
1230#endif
1231#endif
1232
1233#if defined (_SEQUENT_)
1234    struct utsname un;
1235
1236    uname(&un);
1237
1238    if (strncmp(un.version, "V2", 2) == 0) {
1239        printf ("i386-sequent-ptx2\n"); exit (0);
1240    }
1241    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1242        printf ("i386-sequent-ptx1\n"); exit (0);
1243    }
1244    printf ("i386-sequent-ptx\n"); exit (0);
1245
1246#endif
1247
1248#if defined (vax)
1249# if !defined (ultrix)
1250#  include <sys/param.h>
1251#  if defined (BSD)
1252#   if BSD == 43
1253      printf ("vax-dec-bsd4.3\n"); exit (0);
1254#   else
1255#    if BSD == 199006
1256      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1257#    else
1258      printf ("vax-dec-bsd\n"); exit (0);
1259#    endif
1260#   endif
1261#  else
1262    printf ("vax-dec-bsd\n"); exit (0);
1263#  endif
1264# else
1265    printf ("vax-dec-ultrix\n"); exit (0);
1266# endif
1267#endif
1268
1269#if defined (alliant) && defined (i860)
1270  printf ("i860-alliant-bsd\n"); exit (0);
1271#endif
1272
1273  exit (1);
1274}
1275EOF
1276
1277$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
1278rm -f $dummy.c $dummy && rmdir $tmpdir
1279
1280# Apollos put the system type in the environment.
1281
1282test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
1283
1284# Convex versions that predate uname can use getsysinfo(1)
1285
1286if [ -x /usr/convex/getsysinfo ]
1287then
1288    case `getsysinfo -f cpu_type` in
1289    c1*)
1290        echo c1-convex-bsd
1291        exit 0 ;;
1292    c2*)
1293        if getsysinfo -f scalar_acc
1294        then echo c32-convex-bsd
1295        else echo c2-convex-bsd
1296        fi
1297        exit 0 ;;
1298    c34*)
1299        echo c34-convex-bsd
1300        exit 0 ;;
1301    c38*)
1302        echo c38-convex-bsd
1303        exit 0 ;;
1304    c4*)
1305        echo c4-convex-bsd
1306        exit 0 ;;
1307    esac
1308fi
1309
1310cat >&2 <<EOF
1311$0: unable to guess system type
1312
1313This script, last modified $timestamp, has failed to recognize
1314the operating system you are using. It is advised that you
1315download the most up to date version of the config scripts from
1316
1317    ftp://ftp.gnu.org/pub/gnu/config/
1318
1319If the version you run ($0) is already up to date, please
1320send the following data and any information you think might be
1321pertinent to <config-patches@gnu.org> in order to provide the needed
1322information to handle your system.
1323
1324config.guess timestamp = $timestamp
1325
1326uname -m = `(uname -m) 2>/dev/null || echo unknown`
1327uname -r = `(uname -r) 2>/dev/null || echo unknown`
1328uname -s = `(uname -s) 2>/dev/null || echo unknown`
1329uname -v = `(uname -v) 2>/dev/null || echo unknown`
1330
1331/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1332/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1333
1334hostinfo               = `(hostinfo) 2>/dev/null`
1335/bin/universe          = `(/bin/universe) 2>/dev/null`
1336/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1337/bin/arch              = `(/bin/arch) 2>/dev/null`
1338/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1339/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1340
1341UNAME_MACHINE = ${UNAME_MACHINE}
1342UNAME_RELEASE = ${UNAME_RELEASE}
1343UNAME_SYSTEM  = ${UNAME_SYSTEM}
1344UNAME_VERSION = ${UNAME_VERSION}
1345EOF
1346
1347exit 1
1348
1349# Local variables:
1350# eval: (add-hook 'write-file-hooks 'time-stamp)
1351# time-stamp-start: "timestamp='"
1352# time-stamp-format: "%:y-%02m-%02d"
1353# time-stamp-end: "'"
1354# End:
Note: See TracBrowser for help on using the repository browser.