source: trunk/debathena/third/schroot/scripts/config.guess @ 24314

Revision 24314, 44.5 KB checked in by geofft, 14 years ago (diff)
In schroot: * Merge with Debian unstable; remaining changes: - Backport to Karmic, and adjust build-deps.
  • 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-06-10'
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 <per@bothner.com>.
31# Please send patches to <config-patches@gnu.org>.  Submit a context
32# diff and a properly formatted ChangeLog 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# The plan is that this can be called by configure scripts if you
39# don't specify an explicit build system type.
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:SunOS:5.*:* | i86xen:SunOS:5.*:*)
337        eval $set_cc_for_build
338        SUN_ARCH="i386"
339        # If there is a compiler, see if it is configured for 64-bit objects.
340        # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
341        # This test works for both compilers.
342        if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
343            if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
344                (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
345                grep IS_64BIT_ARCH >/dev/null
346            then
347                SUN_ARCH="x86_64"
348            fi
349        fi
350        echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
351        exit ;;
352    sun4*:SunOS:6*:*)
353        # According to config.sub, this is the proper way to canonicalize
354        # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
355        # it's likely to be more like Solaris than SunOS4.
356        echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
357        exit ;;
358    sun4*:SunOS:*:*)
359        case "`/usr/bin/arch -k`" in
360            Series*|S4*)
361                UNAME_RELEASE=`uname -v`
362                ;;
363        esac
364        # Japanese Language versions have a version number like `4.1.3-JL'.
365        echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
366        exit ;;
367    sun3*:SunOS:*:*)
368        echo m68k-sun-sunos${UNAME_RELEASE}
369        exit ;;
370    sun*:*:4.2BSD:*)
371        UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
372        test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
373        case "`/bin/arch`" in
374            sun3)
375                echo m68k-sun-sunos${UNAME_RELEASE}
376                ;;
377            sun4)
378                echo sparc-sun-sunos${UNAME_RELEASE}
379                ;;
380        esac
381        exit ;;
382    aushp:SunOS:*:*)
383        echo sparc-auspex-sunos${UNAME_RELEASE}
384        exit ;;
385    # The situation for MiNT is a little confusing.  The machine name
386    # can be virtually everything (everything which is not
387    # "atarist" or "atariste" at least should have a processor
388    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
389    # to the lowercase version "mint" (or "freemint").  Finally
390    # the system name "TOS" denotes a system which is actually not
391    # MiNT.  But MiNT is downward compatible to TOS, so this should
392    # be no problem.
393    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
394        echo m68k-atari-mint${UNAME_RELEASE}
395        exit ;;
396    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
397        echo m68k-atari-mint${UNAME_RELEASE}
398        exit ;;
399    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
400        echo m68k-atari-mint${UNAME_RELEASE}
401        exit ;;
402    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
403        echo m68k-milan-mint${UNAME_RELEASE}
404        exit ;;
405    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
406        echo m68k-hades-mint${UNAME_RELEASE}
407        exit ;;
408    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
409        echo m68k-unknown-mint${UNAME_RELEASE}
410        exit ;;
411    m68k:machten:*:*)
412        echo m68k-apple-machten${UNAME_RELEASE}
413        exit ;;
414    powerpc:machten:*:*)
415        echo powerpc-apple-machten${UNAME_RELEASE}
416        exit ;;
417    RISC*:Mach:*:*)
418        echo mips-dec-mach_bsd4.3
419        exit ;;
420    RISC*:ULTRIX:*:*)
421        echo mips-dec-ultrix${UNAME_RELEASE}
422        exit ;;
423    VAX*:ULTRIX*:*:*)
424        echo vax-dec-ultrix${UNAME_RELEASE}
425        exit ;;
426    2020:CLIX:*:* | 2430:CLIX:*:*)
427        echo clipper-intergraph-clix${UNAME_RELEASE}
428        exit ;;
429    mips:*:*:UMIPS | mips:*:*:RISCos)
430        eval $set_cc_for_build
431        sed 's/^        //' << EOF >$dummy.c
432#ifdef __cplusplus
433#include <stdio.h>  /* for printf() prototype */
434        int main (int argc, char *argv[]) {
435#else
436        int main (argc, argv) int argc; char *argv[]; {
437#endif
438        #if defined (host_mips) && defined (MIPSEB)
439        #if defined (SYSTYPE_SYSV)
440          printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
441        #endif
442        #if defined (SYSTYPE_SVR4)
443          printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
444        #endif
445        #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
446          printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
447        #endif
448        #endif
449          exit (-1);
450        }
451EOF
452        $CC_FOR_BUILD -o $dummy $dummy.c &&
453          dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
454          SYSTEM_NAME=`$dummy $dummyarg` &&
455            { echo "$SYSTEM_NAME"; exit; }
456        echo mips-mips-riscos${UNAME_RELEASE}
457        exit ;;
458    Motorola:PowerMAX_OS:*:*)
459        echo powerpc-motorola-powermax
460        exit ;;
461    Motorola:*:4.3:PL8-*)
462        echo powerpc-harris-powermax
463        exit ;;
464    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
465        echo powerpc-harris-powermax
466        exit ;;
467    Night_Hawk:Power_UNIX:*:*)
468        echo powerpc-harris-powerunix
469        exit ;;
470    m88k:CX/UX:7*:*)
471        echo m88k-harris-cxux7
472        exit ;;
473    m88k:*:4*:R4*)
474        echo m88k-motorola-sysv4
475        exit ;;
476    m88k:*:3*:R3*)
477        echo m88k-motorola-sysv3
478        exit ;;
479    AViiON:dgux:*:*)
480        # DG/UX returns AViiON for all architectures
481        UNAME_PROCESSOR=`/usr/bin/uname -p`
482        if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
483        then
484            if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
485               [ ${TARGET_BINARY_INTERFACE}x = x ]
486            then
487                echo m88k-dg-dgux${UNAME_RELEASE}
488            else
489                echo m88k-dg-dguxbcs${UNAME_RELEASE}
490            fi
491        else
492            echo i586-dg-dgux${UNAME_RELEASE}
493        fi
494        exit ;;
495    M88*:DolphinOS:*:*) # DolphinOS (SVR3)
496        echo m88k-dolphin-sysv3
497        exit ;;
498    M88*:*:R3*:*)
499        # Delta 88k system running SVR3
500        echo m88k-motorola-sysv3
501        exit ;;
502    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
503        echo m88k-tektronix-sysv3
504        exit ;;
505    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
506        echo m68k-tektronix-bsd
507        exit ;;
508    *:IRIX*:*:*)
509        echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
510        exit ;;
511    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
512        echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
513        exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
514    i*86:AIX:*:*)
515        echo i386-ibm-aix
516        exit ;;
517    ia64:AIX:*:*)
518        if [ -x /usr/bin/oslevel ] ; then
519                IBM_REV=`/usr/bin/oslevel`
520        else
521                IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
522        fi
523        echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
524        exit ;;
525    *:AIX:2:3)
526        if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
527                eval $set_cc_for_build
528                sed 's/^                //' << EOF >$dummy.c
529                #include <sys/systemcfg.h>
530
531                main()
532                        {
533                        if (!__power_pc())
534                                exit(1);
535                        puts("powerpc-ibm-aix3.2.5");
536                        exit(0);
537                        }
538EOF
539                if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
540                then
541                        echo "$SYSTEM_NAME"
542                else
543                        echo rs6000-ibm-aix3.2.5
544                fi
545        elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
546                echo rs6000-ibm-aix3.2.4
547        else
548                echo rs6000-ibm-aix3.2
549        fi
550        exit ;;
551    *:AIX:*:[456])
552        IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
553        if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
554                IBM_ARCH=rs6000
555        else
556                IBM_ARCH=powerpc
557        fi
558        if [ -x /usr/bin/oslevel ] ; then
559                IBM_REV=`/usr/bin/oslevel`
560        else
561                IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
562        fi
563        echo ${IBM_ARCH}-ibm-aix${IBM_REV}
564        exit ;;
565    *:AIX:*:*)
566        echo rs6000-ibm-aix
567        exit ;;
568    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
569        echo romp-ibm-bsd4.4
570        exit ;;
571    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
572        echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
573        exit ;;                             # report: romp-ibm BSD 4.3
574    *:BOSX:*:*)
575        echo rs6000-bull-bosx
576        exit ;;
577    DPX/2?00:B.O.S.:*:*)
578        echo m68k-bull-sysv3
579        exit ;;
580    9000/[34]??:4.3bsd:1.*:*)
581        echo m68k-hp-bsd
582        exit ;;
583    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
584        echo m68k-hp-bsd4.4
585        exit ;;
586    9000/[34678]??:HP-UX:*:*)
587        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
588        case "${UNAME_MACHINE}" in
589            9000/31? )            HP_ARCH=m68000 ;;
590            9000/[34]?? )         HP_ARCH=m68k ;;
591            9000/[678][0-9][0-9])
592                if [ -x /usr/bin/getconf ]; then
593                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
594                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
595                    case "${sc_cpu_version}" in
596                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
597                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
598                      532)                      # CPU_PA_RISC2_0
599                        case "${sc_kernel_bits}" in
600                          32) HP_ARCH="hppa2.0n" ;;
601                          64) HP_ARCH="hppa2.0w" ;;
602                          '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
603                        esac ;;
604                    esac
605                fi
606                if [ "${HP_ARCH}" = "" ]; then
607                    eval $set_cc_for_build
608                    sed 's/^              //' << EOF >$dummy.c
609
610              #define _HPUX_SOURCE
611              #include <stdlib.h>
612              #include <unistd.h>
613
614              int main ()
615              {
616              #if defined(_SC_KERNEL_BITS)
617                  long bits = sysconf(_SC_KERNEL_BITS);
618              #endif
619                  long cpu  = sysconf (_SC_CPU_VERSION);
620
621                  switch (cpu)
622                {
623                case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
624                case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
625                case CPU_PA_RISC2_0:
626              #if defined(_SC_KERNEL_BITS)
627                    switch (bits)
628                        {
629                        case 64: puts ("hppa2.0w"); break;
630                        case 32: puts ("hppa2.0n"); break;
631                        default: puts ("hppa2.0"); break;
632                        } break;
633              #else  /* !defined(_SC_KERNEL_BITS) */
634                    puts ("hppa2.0"); break;
635              #endif
636                default: puts ("hppa1.0"); break;
637                }
638                  exit (0);
639              }
640EOF
641                    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
642                    test -z "$HP_ARCH" && HP_ARCH=hppa
643                fi ;;
644        esac
645        if [ ${HP_ARCH} = "hppa2.0w" ]
646        then
647            eval $set_cc_for_build
648
649            # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
650            # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
651            # generating 64-bit code.  GNU and HP use different nomenclature:
652            #
653            # $ CC_FOR_BUILD=cc ./config.guess
654            # => hppa2.0w-hp-hpux11.23
655            # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
656            # => hppa64-hp-hpux11.23
657
658            if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
659                grep -q __LP64__
660            then
661                HP_ARCH="hppa2.0w"
662            else
663                HP_ARCH="hppa64"
664            fi
665        fi
666        echo ${HP_ARCH}-hp-hpux${HPUX_REV}
667        exit ;;
668    ia64:HP-UX:*:*)
669        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
670        echo ia64-hp-hpux${HPUX_REV}
671        exit ;;
672    3050*:HI-UX:*:*)
673        eval $set_cc_for_build
674        sed 's/^        //' << EOF >$dummy.c
675        #include <unistd.h>
676        int
677        main ()
678        {
679          long cpu = sysconf (_SC_CPU_VERSION);
680          /* The order matters, because CPU_IS_HP_MC68K erroneously returns
681             true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
682             results, however.  */
683          if (CPU_IS_PA_RISC (cpu))
684            {
685              switch (cpu)
686                {
687                  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
688                  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
689                  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
690                  default: puts ("hppa-hitachi-hiuxwe2"); break;
691                }
692            }
693          else if (CPU_IS_HP_MC68K (cpu))
694            puts ("m68k-hitachi-hiuxwe2");
695          else puts ("unknown-hitachi-hiuxwe2");
696          exit (0);
697        }
698EOF
699        $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
700                { echo "$SYSTEM_NAME"; exit; }
701        echo unknown-hitachi-hiuxwe2
702        exit ;;
703    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
704        echo hppa1.1-hp-bsd
705        exit ;;
706    9000/8??:4.3bsd:*:*)
707        echo hppa1.0-hp-bsd
708        exit ;;
709    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
710        echo hppa1.0-hp-mpeix
711        exit ;;
712    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
713        echo hppa1.1-hp-osf
714        exit ;;
715    hp8??:OSF1:*:*)
716        echo hppa1.0-hp-osf
717        exit ;;
718    i*86:OSF1:*:*)
719        if [ -x /usr/sbin/sysversion ] ; then
720            echo ${UNAME_MACHINE}-unknown-osf1mk
721        else
722            echo ${UNAME_MACHINE}-unknown-osf1
723        fi
724        exit ;;
725    parisc*:Lites*:*:*)
726        echo hppa1.1-hp-lites
727        exit ;;
728    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
729        echo c1-convex-bsd
730        exit ;;
731    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
732        if getsysinfo -f scalar_acc
733        then echo c32-convex-bsd
734        else echo c2-convex-bsd
735        fi
736        exit ;;
737    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
738        echo c34-convex-bsd
739        exit ;;
740    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
741        echo c38-convex-bsd
742        exit ;;
743    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
744        echo c4-convex-bsd
745        exit ;;
746    CRAY*Y-MP:*:*:*)
747        echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
748        exit ;;
749    CRAY*[A-Z]90:*:*:*)
750        echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
751        | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
752              -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
753              -e 's/\.[^.]*$/.X/'
754        exit ;;
755    CRAY*TS:*:*:*)
756        echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
757        exit ;;
758    CRAY*T3E:*:*:*)
759        echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
760        exit ;;
761    CRAY*SV1:*:*:*)
762        echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
763        exit ;;
764    *:UNICOS/mp:*:*)
765        echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
766        exit ;;
767    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
768        FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
769        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
770        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
771        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
772        exit ;;
773    5000:UNIX_System_V:4.*:*)
774        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
775        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
776        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
777        exit ;;
778    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
779        echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
780        exit ;;
781    sparc*:BSD/OS:*:*)
782        echo sparc-unknown-bsdi${UNAME_RELEASE}
783        exit ;;
784    *:BSD/OS:*:*)
785        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
786        exit ;;
787    *:FreeBSD:*:*)
788        case ${UNAME_MACHINE} in
789            pc98)
790                echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
791            amd64)
792                echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
793            *)
794                echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
795        esac
796        exit ;;
797    i*:CYGWIN*:*)
798        echo ${UNAME_MACHINE}-pc-cygwin
799        exit ;;
800    *:MINGW*:*)
801        echo ${UNAME_MACHINE}-pc-mingw32
802        exit ;;
803    i*:windows32*:*)
804        # uname -m includes "-pc" on this system.
805        echo ${UNAME_MACHINE}-mingw32
806        exit ;;
807    i*:PW*:*)
808        echo ${UNAME_MACHINE}-pc-pw32
809        exit ;;
810    *:Interix*:[3456]*)
811        case ${UNAME_MACHINE} in
812            x86)
813                echo i586-pc-interix${UNAME_RELEASE}
814                exit ;;
815            EM64T | authenticamd | genuineintel)
816                echo x86_64-unknown-interix${UNAME_RELEASE}
817                exit ;;
818            IA64)
819                echo ia64-unknown-interix${UNAME_RELEASE}
820                exit ;;
821        esac ;;
822    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
823        echo i${UNAME_MACHINE}-pc-mks
824        exit ;;
825    8664:Windows_NT:*)
826        echo x86_64-pc-mks
827        exit ;;
828    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
829        # How do we know it's Interix rather than the generic POSIX subsystem?
830        # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
831        # UNAME_MACHINE based on the output of uname instead of i386?
832        echo i586-pc-interix
833        exit ;;
834    i*:UWIN*:*)
835        echo ${UNAME_MACHINE}-pc-uwin
836        exit ;;
837    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
838        echo x86_64-unknown-cygwin
839        exit ;;
840    p*:CYGWIN*:*)
841        echo powerpcle-unknown-cygwin
842        exit ;;
843    prep*:SunOS:5.*:*)
844        echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
845        exit ;;
846    *:GNU:*:*)
847        # the GNU system
848        echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
849        exit ;;
850    *:GNU/*:*:*)
851        # other systems with GNU libc and userland
852        echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
853        exit ;;
854    i*86:Minix:*:*)
855        echo ${UNAME_MACHINE}-pc-minix
856        exit ;;
857    arm*:Linux:*:*)
858        eval $set_cc_for_build
859        if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
860            | grep -q __ARM_EABI__
861        then
862            echo ${UNAME_MACHINE}-unknown-linux-gnu
863        else
864            echo ${UNAME_MACHINE}-unknown-linux-gnueabi
865        fi
866        exit ;;
867    avr32*:Linux:*:*)
868        echo ${UNAME_MACHINE}-unknown-linux-gnu
869        exit ;;
870    cris:Linux:*:*)
871        echo cris-axis-linux-gnu
872        exit ;;
873    crisv32:Linux:*:*)
874        echo crisv32-axis-linux-gnu
875        exit ;;
876    frv:Linux:*:*)
877        echo frv-unknown-linux-gnu
878        exit ;;
879    ia64:Linux:*:*)
880        echo ${UNAME_MACHINE}-unknown-linux-gnu
881        exit ;;
882    m32r*:Linux:*:*)
883        echo ${UNAME_MACHINE}-unknown-linux-gnu
884        exit ;;
885    m68*:Linux:*:*)
886        echo ${UNAME_MACHINE}-unknown-linux-gnu
887        exit ;;
888    mips:Linux:*:* | mips64:Linux:*:*)
889        eval $set_cc_for_build
890        sed 's/^        //' << EOF >$dummy.c
891        #undef CPU
892        #undef ${UNAME_MACHINE}
893        #undef ${UNAME_MACHINE}el
894        #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
895        CPU=${UNAME_MACHINE}el
896        #else
897        #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
898        CPU=${UNAME_MACHINE}
899        #else
900        CPU=
901        #endif
902        #endif
903EOF
904        eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
905            /^CPU/{
906                s: ::g
907                p
908            }'`"
909        test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
910        ;;
911    or32:Linux:*:*)
912        echo or32-unknown-linux-gnu
913        exit ;;
914    ppc:Linux:*:*)
915        echo powerpc-unknown-linux-gnu
916        exit ;;
917    ppc64:Linux:*:*)
918        echo powerpc64-unknown-linux-gnu
919        exit ;;
920    alpha:Linux:*:*)
921        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
922          EV5)   UNAME_MACHINE=alphaev5 ;;
923          EV56)  UNAME_MACHINE=alphaev56 ;;
924          PCA56) UNAME_MACHINE=alphapca56 ;;
925          PCA57) UNAME_MACHINE=alphapca56 ;;
926          EV6)   UNAME_MACHINE=alphaev6 ;;
927          EV67)  UNAME_MACHINE=alphaev67 ;;
928          EV68*) UNAME_MACHINE=alphaev68 ;;
929        esac
930        objdump --private-headers /bin/sh | grep -q ld.so.1
931        if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
932        echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
933        exit ;;
934    padre:Linux:*:*)
935        echo sparc-unknown-linux-gnu
936        exit ;;
937    parisc:Linux:*:* | hppa:Linux:*:*)
938        # Look for CPU level
939        case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
940          PA7*) echo hppa1.1-unknown-linux-gnu ;;
941          PA8*) echo hppa2.0-unknown-linux-gnu ;;
942          *)    echo hppa-unknown-linux-gnu ;;
943        esac
944        exit ;;
945    parisc64:Linux:*:* | hppa64:Linux:*:*)
946        echo hppa64-unknown-linux-gnu
947        exit ;;
948    s390:Linux:*:* | s390x:Linux:*:*)
949        echo ${UNAME_MACHINE}-ibm-linux
950        exit ;;
951    sh64*:Linux:*:*)
952        echo ${UNAME_MACHINE}-unknown-linux-gnu
953        exit ;;
954    sh*:Linux:*:*)
955        echo ${UNAME_MACHINE}-unknown-linux-gnu
956        exit ;;
957    sparc:Linux:*:* | sparc64:Linux:*:*)
958        echo ${UNAME_MACHINE}-unknown-linux-gnu
959        exit ;;
960    vax:Linux:*:*)
961        echo ${UNAME_MACHINE}-dec-linux-gnu
962        exit ;;
963    x86_64:Linux:*:*)
964        echo x86_64-unknown-linux-gnu
965        exit ;;
966    xtensa*:Linux:*:*)
967        echo ${UNAME_MACHINE}-unknown-linux-gnu
968        exit ;;
969    i*86:Linux:*:*)
970        # The BFD linker knows what the default object file format is, so
971        # first see if it will tell us. cd to the root directory to prevent
972        # problems with other programs or directories called `ld' in the path.
973        # Set LC_ALL=C to ensure ld outputs messages in English.
974        ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
975                         | sed -ne '/supported targets:/!d
976                                    s/[         ][      ]*/ /g
977                                    s/.*supported targets: *//
978                                    s/ .*//
979                                    p'`
980        case "$ld_supported_targets" in
981          elf32-i386)
982                TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
983                ;;
984        esac
985        # Determine whether the default compiler is a.out or elf
986        eval $set_cc_for_build
987        sed 's/^        //' << EOF >$dummy.c
988        #include <features.h>
989        #ifdef __ELF__
990        # ifdef __GLIBC__
991        #  if __GLIBC__ >= 2
992        LIBC=gnu
993        #  else
994        LIBC=gnulibc1
995        #  endif
996        # else
997        LIBC=gnulibc1
998        # endif
999        #else
1000        #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
1001        LIBC=gnu
1002        #else
1003        LIBC=gnuaout
1004        #endif
1005        #endif
1006        #ifdef __dietlibc__
1007        LIBC=dietlibc
1008        #endif
1009EOF
1010        eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1011            /^LIBC/{
1012                s: ::g
1013                p
1014            }'`"
1015        test x"${LIBC}" != x && {
1016                echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1017                exit
1018        }
1019        test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
1020        ;;
1021    i*86:DYNIX/ptx:4*:*)
1022        # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1023        # earlier versions are messed up and put the nodename in both
1024        # sysname and nodename.
1025        echo i386-sequent-sysv4
1026        exit ;;
1027    i*86:UNIX_SV:4.2MP:2.*)
1028        # Unixware is an offshoot of SVR4, but it has its own version
1029        # number series starting with 2...
1030        # I am not positive that other SVR4 systems won't match this,
1031        # I just have to hope.  -- rms.
1032        # Use sysv4.2uw... so that sysv4* matches it.
1033        echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1034        exit ;;
1035    i*86:OS/2:*:*)
1036        # If we were able to find `uname', then EMX Unix compatibility
1037        # is probably installed.
1038        echo ${UNAME_MACHINE}-pc-os2-emx
1039        exit ;;
1040    i*86:XTS-300:*:STOP)
1041        echo ${UNAME_MACHINE}-unknown-stop
1042        exit ;;
1043    i*86:atheos:*:*)
1044        echo ${UNAME_MACHINE}-unknown-atheos
1045        exit ;;
1046    i*86:syllable:*:*)
1047        echo ${UNAME_MACHINE}-pc-syllable
1048        exit ;;
1049    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1050        echo i386-unknown-lynxos${UNAME_RELEASE}
1051        exit ;;
1052    i*86:*DOS:*:*)
1053        echo ${UNAME_MACHINE}-pc-msdosdjgpp
1054        exit ;;
1055    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1056        UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1057        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1058                echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1059        else
1060                echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1061        fi
1062        exit ;;
1063    i*86:*:5:[678]*)
1064        # UnixWare 7.x, OpenUNIX and OpenServer 6.
1065        case `/bin/uname -X | grep "^Machine"` in
1066            *486*)           UNAME_MACHINE=i486 ;;
1067            *Pentium)        UNAME_MACHINE=i586 ;;
1068            *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1069        esac
1070        echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1071        exit ;;
1072    i*86:*:3.2:*)
1073        if test -f /usr/options/cb.name; then
1074                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1075                echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1076        elif /bin/uname -X 2>/dev/null >/dev/null ; then
1077                UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1078                (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1079                (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1080                        && UNAME_MACHINE=i586
1081                (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1082                        && UNAME_MACHINE=i686
1083                (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1084                        && UNAME_MACHINE=i686
1085                echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1086        else
1087                echo ${UNAME_MACHINE}-pc-sysv32
1088        fi
1089        exit ;;
1090    pc:*:*:*)
1091        # Left here for compatibility:
1092        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1093        # the processor, so we play safe by assuming i586.
1094        # Note: whatever this is, it MUST be the same as what config.sub
1095        # prints for the "djgpp" host, or else GDB configury will decide that
1096        # this is a cross-build.
1097        echo i586-pc-msdosdjgpp
1098        exit ;;
1099    Intel:Mach:3*:*)
1100        echo i386-pc-mach3
1101        exit ;;
1102    paragon:*:*:*)
1103        echo i860-intel-osf1
1104        exit ;;
1105    i860:*:4.*:*) # i860-SVR4
1106        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1107          echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1108        else # Add other i860-SVR4 vendors below as they are discovered.
1109          echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1110        fi
1111        exit ;;
1112    mini*:CTIX:SYS*5:*)
1113        # "miniframe"
1114        echo m68010-convergent-sysv
1115        exit ;;
1116    mc68k:UNIX:SYSTEM5:3.51m)
1117        echo m68k-convergent-sysv
1118        exit ;;
1119    M680?0:D-NIX:5.3:*)
1120        echo m68k-diab-dnix
1121        exit ;;
1122    M68*:*:R3V[5678]*:*)
1123        test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1124    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)
1125        OS_REL=''
1126        test -r /etc/.relid \
1127        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1128        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1129          && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1130        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1131          && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1132    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1133        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1134          && { echo i486-ncr-sysv4; exit; } ;;
1135    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1136        OS_REL='.3'
1137        test -r /etc/.relid \
1138            && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1139        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1140            && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1141        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1142            && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1143        /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1144            && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1145    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1146        echo m68k-unknown-lynxos${UNAME_RELEASE}
1147        exit ;;
1148    mc68030:UNIX_System_V:4.*:*)
1149        echo m68k-atari-sysv4
1150        exit ;;
1151    TSUNAMI:LynxOS:2.*:*)
1152        echo sparc-unknown-lynxos${UNAME_RELEASE}
1153        exit ;;
1154    rs6000:LynxOS:2.*:*)
1155        echo rs6000-unknown-lynxos${UNAME_RELEASE}
1156        exit ;;
1157    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1158        echo powerpc-unknown-lynxos${UNAME_RELEASE}
1159        exit ;;
1160    SM[BE]S:UNIX_SV:*:*)
1161        echo mips-dde-sysv${UNAME_RELEASE}
1162        exit ;;
1163    RM*:ReliantUNIX-*:*:*)
1164        echo mips-sni-sysv4
1165        exit ;;
1166    RM*:SINIX-*:*:*)
1167        echo mips-sni-sysv4
1168        exit ;;
1169    *:SINIX-*:*:*)
1170        if uname -p 2>/dev/null >/dev/null ; then
1171                UNAME_MACHINE=`(uname -p) 2>/dev/null`
1172                echo ${UNAME_MACHINE}-sni-sysv4
1173        else
1174                echo ns32k-sni-sysv
1175        fi
1176        exit ;;
1177    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1178                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1179        echo i586-unisys-sysv4
1180        exit ;;
1181    *:UNIX_System_V:4*:FTX*)
1182        # From Gerald Hewes <hewes@openmarket.com>.
1183        # How about differentiating between stratus architectures? -djm
1184        echo hppa1.1-stratus-sysv4
1185        exit ;;
1186    *:*:*:FTX*)
1187        # From seanf@swdc.stratus.com.
1188        echo i860-stratus-sysv4
1189        exit ;;
1190    i*86:VOS:*:*)
1191        # From Paul.Green@stratus.com.
1192        echo ${UNAME_MACHINE}-stratus-vos
1193        exit ;;
1194    *:VOS:*:*)
1195        # From Paul.Green@stratus.com.
1196        echo hppa1.1-stratus-vos
1197        exit ;;
1198    mc68*:A/UX:*:*)
1199        echo m68k-apple-aux${UNAME_RELEASE}
1200        exit ;;
1201    news*:NEWS-OS:6*:*)
1202        echo mips-sony-newsos6
1203        exit ;;
1204    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1205        if [ -d /usr/nec ]; then
1206                echo mips-nec-sysv${UNAME_RELEASE}
1207        else
1208                echo mips-unknown-sysv${UNAME_RELEASE}
1209        fi
1210        exit ;;
1211    BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
1212        echo powerpc-be-beos
1213        exit ;;
1214    BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
1215        echo powerpc-apple-beos
1216        exit ;;
1217    BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
1218        echo i586-pc-beos
1219        exit ;;
1220    BePC:Haiku:*:*)     # Haiku running on Intel PC compatible.
1221        echo i586-pc-haiku
1222        exit ;;
1223    SX-4:SUPER-UX:*:*)
1224        echo sx4-nec-superux${UNAME_RELEASE}
1225        exit ;;
1226    SX-5:SUPER-UX:*:*)
1227        echo sx5-nec-superux${UNAME_RELEASE}
1228        exit ;;
1229    SX-6:SUPER-UX:*:*)
1230        echo sx6-nec-superux${UNAME_RELEASE}
1231        exit ;;
1232    SX-7:SUPER-UX:*:*)
1233        echo sx7-nec-superux${UNAME_RELEASE}
1234        exit ;;
1235    SX-8:SUPER-UX:*:*)
1236        echo sx8-nec-superux${UNAME_RELEASE}
1237        exit ;;
1238    SX-8R:SUPER-UX:*:*)
1239        echo sx8r-nec-superux${UNAME_RELEASE}
1240        exit ;;
1241    Power*:Rhapsody:*:*)
1242        echo powerpc-apple-rhapsody${UNAME_RELEASE}
1243        exit ;;
1244    *:Rhapsody:*:*)
1245        echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1246        exit ;;
1247    *:Darwin:*:*)
1248        UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1249        case $UNAME_PROCESSOR in
1250            unknown) UNAME_PROCESSOR=powerpc ;;
1251        esac
1252        echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1253        exit ;;
1254    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1255        UNAME_PROCESSOR=`uname -p`
1256        if test "$UNAME_PROCESSOR" = "x86"; then
1257                UNAME_PROCESSOR=i386
1258                UNAME_MACHINE=pc
1259        fi
1260        echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1261        exit ;;
1262    *:QNX:*:4*)
1263        echo i386-pc-qnx
1264        exit ;;
1265    NSE-?:NONSTOP_KERNEL:*:*)
1266        echo nse-tandem-nsk${UNAME_RELEASE}
1267        exit ;;
1268    NSR-?:NONSTOP_KERNEL:*:*)
1269        echo nsr-tandem-nsk${UNAME_RELEASE}
1270        exit ;;
1271    *:NonStop-UX:*:*)
1272        echo mips-compaq-nonstopux
1273        exit ;;
1274    BS2000:POSIX*:*:*)
1275        echo bs2000-siemens-sysv
1276        exit ;;
1277    DS/*:UNIX_System_V:*:*)
1278        echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1279        exit ;;
1280    *:Plan9:*:*)
1281        # "uname -m" is not consistent, so use $cputype instead. 386
1282        # is converted to i386 for consistency with other x86
1283        # operating systems.
1284        if test "$cputype" = "386"; then
1285            UNAME_MACHINE=i386
1286        else
1287            UNAME_MACHINE="$cputype"
1288        fi
1289        echo ${UNAME_MACHINE}-unknown-plan9
1290        exit ;;
1291    *:TOPS-10:*:*)
1292        echo pdp10-unknown-tops10
1293        exit ;;
1294    *:TENEX:*:*)
1295        echo pdp10-unknown-tenex
1296        exit ;;
1297    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1298        echo pdp10-dec-tops20
1299        exit ;;
1300    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1301        echo pdp10-xkl-tops20
1302        exit ;;
1303    *:TOPS-20:*:*)
1304        echo pdp10-unknown-tops20
1305        exit ;;
1306    *:ITS:*:*)
1307        echo pdp10-unknown-its
1308        exit ;;
1309    SEI:*:*:SEIUX)
1310        echo mips-sei-seiux${UNAME_RELEASE}
1311        exit ;;
1312    *:DragonFly:*:*)
1313        echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1314        exit ;;
1315    *:*VMS:*:*)
1316        UNAME_MACHINE=`(uname -p) 2>/dev/null`
1317        case "${UNAME_MACHINE}" in
1318            A*) echo alpha-dec-vms ; exit ;;
1319            I*) echo ia64-dec-vms ; exit ;;
1320            V*) echo vax-dec-vms ; exit ;;
1321        esac ;;
1322    *:XENIX:*:SysV)
1323        echo i386-pc-xenix
1324        exit ;;
1325    i*86:skyos:*:*)
1326        echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1327        exit ;;
1328    i*86:rdos:*:*)
1329        echo ${UNAME_MACHINE}-pc-rdos
1330        exit ;;
1331    i*86:AROS:*:*)
1332        echo ${UNAME_MACHINE}-pc-aros
1333        exit ;;
1334esac
1335
1336#echo '(No uname command or uname output not recognized.)' 1>&2
1337#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1338
1339eval $set_cc_for_build
1340cat >$dummy.c <<EOF
1341#ifdef _SEQUENT_
1342# include <sys/types.h>
1343# include <sys/utsname.h>
1344#endif
1345main ()
1346{
1347#if defined (sony)
1348#if defined (MIPSEB)
1349  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1350     I don't know....  */
1351  printf ("mips-sony-bsd\n"); exit (0);
1352#else
1353#include <sys/param.h>
1354  printf ("m68k-sony-newsos%s\n",
1355#ifdef NEWSOS4
1356          "4"
1357#else
1358          ""
1359#endif
1360         ); exit (0);
1361#endif
1362#endif
1363
1364#if defined (__arm) && defined (__acorn) && defined (__unix)
1365  printf ("arm-acorn-riscix\n"); exit (0);
1366#endif
1367
1368#if defined (hp300) && !defined (hpux)
1369  printf ("m68k-hp-bsd\n"); exit (0);
1370#endif
1371
1372#if defined (NeXT)
1373#if !defined (__ARCHITECTURE__)
1374#define __ARCHITECTURE__ "m68k"
1375#endif
1376  int version;
1377  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1378  if (version < 4)
1379    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1380  else
1381    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1382  exit (0);
1383#endif
1384
1385#if defined (MULTIMAX) || defined (n16)
1386#if defined (UMAXV)
1387  printf ("ns32k-encore-sysv\n"); exit (0);
1388#else
1389#if defined (CMU)
1390  printf ("ns32k-encore-mach\n"); exit (0);
1391#else
1392  printf ("ns32k-encore-bsd\n"); exit (0);
1393#endif
1394#endif
1395#endif
1396
1397#if defined (__386BSD__)
1398  printf ("i386-pc-bsd\n"); exit (0);
1399#endif
1400
1401#if defined (sequent)
1402#if defined (i386)
1403  printf ("i386-sequent-dynix\n"); exit (0);
1404#endif
1405#if defined (ns32000)
1406  printf ("ns32k-sequent-dynix\n"); exit (0);
1407#endif
1408#endif
1409
1410#if defined (_SEQUENT_)
1411    struct utsname un;
1412
1413    uname(&un);
1414
1415    if (strncmp(un.version, "V2", 2) == 0) {
1416        printf ("i386-sequent-ptx2\n"); exit (0);
1417    }
1418    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1419        printf ("i386-sequent-ptx1\n"); exit (0);
1420    }
1421    printf ("i386-sequent-ptx\n"); exit (0);
1422
1423#endif
1424
1425#if defined (vax)
1426# if !defined (ultrix)
1427#  include <sys/param.h>
1428#  if defined (BSD)
1429#   if BSD == 43
1430      printf ("vax-dec-bsd4.3\n"); exit (0);
1431#   else
1432#    if BSD == 199006
1433      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1434#    else
1435      printf ("vax-dec-bsd\n"); exit (0);
1436#    endif
1437#   endif
1438#  else
1439    printf ("vax-dec-bsd\n"); exit (0);
1440#  endif
1441# else
1442    printf ("vax-dec-ultrix\n"); exit (0);
1443# endif
1444#endif
1445
1446#if defined (alliant) && defined (i860)
1447  printf ("i860-alliant-bsd\n"); exit (0);
1448#endif
1449
1450  exit (1);
1451}
1452EOF
1453
1454$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1455        { echo "$SYSTEM_NAME"; exit; }
1456
1457# Apollos put the system type in the environment.
1458
1459test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1460
1461# Convex versions that predate uname can use getsysinfo(1)
1462
1463if [ -x /usr/convex/getsysinfo ]
1464then
1465    case `getsysinfo -f cpu_type` in
1466    c1*)
1467        echo c1-convex-bsd
1468        exit ;;
1469    c2*)
1470        if getsysinfo -f scalar_acc
1471        then echo c32-convex-bsd
1472        else echo c2-convex-bsd
1473        fi
1474        exit ;;
1475    c34*)
1476        echo c34-convex-bsd
1477        exit ;;
1478    c38*)
1479        echo c38-convex-bsd
1480        exit ;;
1481    c4*)
1482        echo c4-convex-bsd
1483        exit ;;
1484    esac
1485fi
1486
1487cat >&2 <<EOF
1488$0: unable to guess system type
1489
1490This script, last modified $timestamp, has failed to recognize
1491the operating system you are using. It is advised that you
1492download the most up to date version of the config scripts from
1493
1494  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1495and
1496  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1497
1498If the version you run ($0) is already up to date, please
1499send the following data and any information you think might be
1500pertinent to <config-patches@gnu.org> in order to provide the needed
1501information to handle your system.
1502
1503config.guess timestamp = $timestamp
1504
1505uname -m = `(uname -m) 2>/dev/null || echo unknown`
1506uname -r = `(uname -r) 2>/dev/null || echo unknown`
1507uname -s = `(uname -s) 2>/dev/null || echo unknown`
1508uname -v = `(uname -v) 2>/dev/null || echo unknown`
1509
1510/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1511/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1512
1513hostinfo               = `(hostinfo) 2>/dev/null`
1514/bin/universe          = `(/bin/universe) 2>/dev/null`
1515/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1516/bin/arch              = `(/bin/arch) 2>/dev/null`
1517/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1518/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1519
1520UNAME_MACHINE = ${UNAME_MACHINE}
1521UNAME_RELEASE = ${UNAME_RELEASE}
1522UNAME_SYSTEM  = ${UNAME_SYSTEM}
1523UNAME_VERSION = ${UNAME_VERSION}
1524EOF
1525
1526exit 1
1527
1528# Local variables:
1529# eval: (add-hook 'write-file-hooks 'time-stamp)
1530# time-stamp-start: "timestamp='"
1531# time-stamp-format: "%:y-%02m-%02d"
1532# time-stamp-end: "'"
1533# End:
Note: See TracBrowser for help on using the repository browser.