source: projects/proc-rpmnew/trunk/config.guess @ 4560

Revision 4560, 43.9 KB checked in by yasumichi, 13 years ago (diff)

change symlink to normal file.

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