Root/scripts/config.guess

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

Archive Download this file



interactive