source: web/old/remctl-2.14/build-aux/config.guess @ f6f3e91

web
Last change on this file since f6f3e91 was f6f3e91, checked in by Jessica B. Hamrick <jhamrick@…>, 15 years ago

Preserve directory hierarchy (not sure what happened to it)

  • Property mode set to 100755
File size: 45.2 KB
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
5#   Free Software Foundation, Inc.
6
7timestamp='2009-04-27'
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 __ELF__ >/dev/null
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 __LP64__ >/dev/null
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    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
826        # How do we know it's Interix rather than the generic POSIX subsystem?
827        # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
828        # UNAME_MACHINE based on the output of uname instead of i386?
829        echo i586-pc-interix
830        exit ;;
831    i*:UWIN*:*)
832        echo ${UNAME_MACHINE}-pc-uwin
833        exit ;;
834    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
835        echo x86_64-unknown-cygwin
836        exit ;;
837    p*:CYGWIN*:*)
838        echo powerpcle-unknown-cygwin
839        exit ;;
840    prep*:SunOS:5.*:*)
841        echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
842        exit ;;
843    *:GNU:*:*)
844        # the GNU system
845        echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
846        exit ;;
847    *:GNU/*:*:*)
848        # other systems with GNU libc and userland
849        echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
850        exit ;;
851    i*86:Minix:*:*)
852        echo ${UNAME_MACHINE}-pc-minix
853        exit ;;
854    arm*:Linux:*:*)
855        eval $set_cc_for_build
856        if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
857            | grep -q __ARM_EABI__
858        then
859            echo ${UNAME_MACHINE}-unknown-linux-gnu
860        else
861            echo ${UNAME_MACHINE}-unknown-linux-gnueabi
862        fi
863        exit ;;
864    avr32*:Linux:*:*)
865        echo ${UNAME_MACHINE}-unknown-linux-gnu
866        exit ;;
867    cris:Linux:*:*)
868        echo cris-axis-linux-gnu
869        exit ;;
870    crisv32:Linux:*:*)
871        echo crisv32-axis-linux-gnu
872        exit ;;
873    frv:Linux:*:*)
874        echo frv-unknown-linux-gnu
875        exit ;;
876    ia64:Linux:*:*)
877        echo ${UNAME_MACHINE}-unknown-linux-gnu
878        exit ;;
879    m32r*:Linux:*:*)
880        echo ${UNAME_MACHINE}-unknown-linux-gnu
881        exit ;;
882    m68*:Linux:*:*)
883        echo ${UNAME_MACHINE}-unknown-linux-gnu
884        exit ;;
885    mips:Linux:*:*)
886        eval $set_cc_for_build
887        sed 's/^        //' << EOF >$dummy.c
888        #undef CPU
889        #undef mips
890        #undef mipsel
891        #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
892        CPU=mipsel
893        #else
894        #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
895        CPU=mips
896        #else
897        CPU=
898        #endif
899        #endif
900EOF
901        eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
902            /^CPU/{
903                s: ::g
904                p
905            }'`"
906        test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
907        ;;
908    mips64:Linux:*:*)
909        eval $set_cc_for_build
910        sed 's/^        //' << EOF >$dummy.c
911        #undef CPU
912        #undef mips64
913        #undef mips64el
914        #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
915        CPU=mips64el
916        #else
917        #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
918        CPU=mips64
919        #else
920        CPU=
921        #endif
922        #endif
923EOF
924        eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
925            /^CPU/{
926                s: ::g
927                p
928            }'`"
929        test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
930        ;;
931    or32:Linux:*:*)
932        echo or32-unknown-linux-gnu
933        exit ;;
934    ppc:Linux:*:*)
935        echo powerpc-unknown-linux-gnu
936        exit ;;
937    ppc64:Linux:*:*)
938        echo powerpc64-unknown-linux-gnu
939        exit ;;
940    alpha:Linux:*:*)
941        case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
942          EV5)   UNAME_MACHINE=alphaev5 ;;
943          EV56)  UNAME_MACHINE=alphaev56 ;;
944          PCA56) UNAME_MACHINE=alphapca56 ;;
945          PCA57) UNAME_MACHINE=alphapca56 ;;
946          EV6)   UNAME_MACHINE=alphaev6 ;;
947          EV67)  UNAME_MACHINE=alphaev67 ;;
948          EV68*) UNAME_MACHINE=alphaev68 ;;
949        esac
950        objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
951        if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
952        echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
953        exit ;;
954    padre:Linux:*:*)
955        echo sparc-unknown-linux-gnu
956        exit ;;
957    parisc:Linux:*:* | hppa:Linux:*:*)
958        # Look for CPU level
959        case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
960          PA7*) echo hppa1.1-unknown-linux-gnu ;;
961          PA8*) echo hppa2.0-unknown-linux-gnu ;;
962          *)    echo hppa-unknown-linux-gnu ;;
963        esac
964        exit ;;
965    parisc64:Linux:*:* | hppa64:Linux:*:*)
966        echo hppa64-unknown-linux-gnu
967        exit ;;
968    s390:Linux:*:* | s390x:Linux:*:*)
969        echo ${UNAME_MACHINE}-ibm-linux
970        exit ;;
971    sh64*:Linux:*:*)
972        echo ${UNAME_MACHINE}-unknown-linux-gnu
973        exit ;;
974    sh*:Linux:*:*)
975        echo ${UNAME_MACHINE}-unknown-linux-gnu
976        exit ;;
977    sparc:Linux:*:* | sparc64:Linux:*:*)
978        echo ${UNAME_MACHINE}-unknown-linux-gnu
979        exit ;;
980    vax:Linux:*:*)
981        echo ${UNAME_MACHINE}-dec-linux-gnu
982        exit ;;
983    x86_64:Linux:*:*)
984        echo x86_64-unknown-linux-gnu
985        exit ;;
986    xtensa*:Linux:*:*)
987        echo ${UNAME_MACHINE}-unknown-linux-gnu
988        exit ;;
989    i*86:Linux:*:*)
990        # The BFD linker knows what the default object file format is, so
991        # first see if it will tell us. cd to the root directory to prevent
992        # problems with other programs or directories called `ld' in the path.
993        # Set LC_ALL=C to ensure ld outputs messages in English.
994        ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
995                         | sed -ne '/supported targets:/!d
996                                    s/[         ][      ]*/ /g
997                                    s/.*supported targets: *//
998                                    s/ .*//
999                                    p'`
1000        case "$ld_supported_targets" in
1001          elf32-i386)
1002                TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
1003                ;;
1004          a.out-i386-linux)
1005                echo "${UNAME_MACHINE}-pc-linux-gnuaout"
1006                exit ;;
1007          "")
1008                # Either a pre-BFD a.out linker (linux-gnuoldld) or
1009                # one that does not give us useful --help.
1010                echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
1011                exit ;;
1012        esac
1013        # Determine whether the default compiler is a.out or elf
1014        eval $set_cc_for_build
1015        sed 's/^        //' << EOF >$dummy.c
1016        #include <features.h>
1017        #ifdef __ELF__
1018        # ifdef __GLIBC__
1019        #  if __GLIBC__ >= 2
1020        LIBC=gnu
1021        #  else
1022        LIBC=gnulibc1
1023        #  endif
1024        # else
1025        LIBC=gnulibc1
1026        # endif
1027        #else
1028        #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
1029        LIBC=gnu
1030        #else
1031        LIBC=gnuaout
1032        #endif
1033        #endif
1034        #ifdef __dietlibc__
1035        LIBC=dietlibc
1036        #endif
1037EOF
1038        eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1039            /^LIBC/{
1040                s: ::g
1041                p
1042            }'`"
1043        test x"${LIBC}" != x && {
1044                echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1045                exit
1046        }
1047        test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
1048        ;;
1049    i*86:DYNIX/ptx:4*:*)
1050        # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1051        # earlier versions are messed up and put the nodename in both
1052        # sysname and nodename.
1053        echo i386-sequent-sysv4
1054        exit ;;
1055    i*86:UNIX_SV:4.2MP:2.*)
1056        # Unixware is an offshoot of SVR4, but it has its own version
1057        # number series starting with 2...
1058        # I am not positive that other SVR4 systems won't match this,
1059        # I just have to hope.  -- rms.
1060        # Use sysv4.2uw... so that sysv4* matches it.
1061        echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1062        exit ;;
1063    i*86:OS/2:*:*)
1064        # If we were able to find `uname', then EMX Unix compatibility
1065        # is probably installed.
1066        echo ${UNAME_MACHINE}-pc-os2-emx
1067        exit ;;
1068    i*86:XTS-300:*:STOP)
1069        echo ${UNAME_MACHINE}-unknown-stop
1070        exit ;;
1071    i*86:atheos:*:*)
1072        echo ${UNAME_MACHINE}-unknown-atheos
1073        exit ;;
1074    i*86:syllable:*:*)
1075        echo ${UNAME_MACHINE}-pc-syllable
1076        exit ;;
1077    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1078        echo i386-unknown-lynxos${UNAME_RELEASE}
1079        exit ;;
1080    i*86:*DOS:*:*)
1081        echo ${UNAME_MACHINE}-pc-msdosdjgpp
1082        exit ;;
1083    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1084        UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1085        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1086                echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1087        else
1088                echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1089        fi
1090        exit ;;
1091    i*86:*:5:[678]*)
1092        # UnixWare 7.x, OpenUNIX and OpenServer 6.
1093        case `/bin/uname -X | grep "^Machine"` in
1094            *486*)           UNAME_MACHINE=i486 ;;
1095            *Pentium)        UNAME_MACHINE=i586 ;;
1096            *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1097        esac
1098        echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1099        exit ;;
1100    i*86:*:3.2:*)
1101        if test -f /usr/options/cb.name; then
1102                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1103                echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1104        elif /bin/uname -X 2>/dev/null >/dev/null ; then
1105                UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1106                (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1107                (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1108                        && UNAME_MACHINE=i586
1109                (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1110                        && UNAME_MACHINE=i686
1111                (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1112                        && UNAME_MACHINE=i686
1113                echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1114        else
1115                echo ${UNAME_MACHINE}-pc-sysv32
1116        fi
1117        exit ;;
1118    pc:*:*:*)
1119        # Left here for compatibility:
1120        # uname -m prints for DJGPP always 'pc', but it prints nothing about
1121        # the processor, so we play safe by assuming i586.
1122        # Note: whatever this is, it MUST be the same as what config.sub
1123        # prints for the "djgpp" host, or else GDB configury will decide that
1124        # this is a cross-build.
1125        echo i586-pc-msdosdjgpp
1126        exit ;;
1127    Intel:Mach:3*:*)
1128        echo i386-pc-mach3
1129        exit ;;
1130    paragon:*:*:*)
1131        echo i860-intel-osf1
1132        exit ;;
1133    i860:*:4.*:*) # i860-SVR4
1134        if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1135          echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1136        else # Add other i860-SVR4 vendors below as they are discovered.
1137          echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1138        fi
1139        exit ;;
1140    mini*:CTIX:SYS*5:*)
1141        # "miniframe"
1142        echo m68010-convergent-sysv
1143        exit ;;
1144    mc68k:UNIX:SYSTEM5:3.51m)
1145        echo m68k-convergent-sysv
1146        exit ;;
1147    M680?0:D-NIX:5.3:*)
1148        echo m68k-diab-dnix
1149        exit ;;
1150    M68*:*:R3V[5678]*:*)
1151        test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1152    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)
1153        OS_REL=''
1154        test -r /etc/.relid \
1155        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1156        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1157          && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1158        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1159          && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1160    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1161        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1162          && { echo i486-ncr-sysv4; exit; } ;;
1163    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1164        OS_REL='.3'
1165        test -r /etc/.relid \
1166            && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1167        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1168            && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1169        /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1170            && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1171        /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1172            && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1173    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1174        echo m68k-unknown-lynxos${UNAME_RELEASE}
1175        exit ;;
1176    mc68030:UNIX_System_V:4.*:*)
1177        echo m68k-atari-sysv4
1178        exit ;;
1179    TSUNAMI:LynxOS:2.*:*)
1180        echo sparc-unknown-lynxos${UNAME_RELEASE}
1181        exit ;;
1182    rs6000:LynxOS:2.*:*)
1183        echo rs6000-unknown-lynxos${UNAME_RELEASE}
1184        exit ;;
1185    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1186        echo powerpc-unknown-lynxos${UNAME_RELEASE}
1187        exit ;;
1188    SM[BE]S:UNIX_SV:*:*)
1189        echo mips-dde-sysv${UNAME_RELEASE}
1190        exit ;;
1191    RM*:ReliantUNIX-*:*:*)
1192        echo mips-sni-sysv4
1193        exit ;;
1194    RM*:SINIX-*:*:*)
1195        echo mips-sni-sysv4
1196        exit ;;
1197    *:SINIX-*:*:*)
1198        if uname -p 2>/dev/null >/dev/null ; then
1199                UNAME_MACHINE=`(uname -p) 2>/dev/null`
1200                echo ${UNAME_MACHINE}-sni-sysv4
1201        else
1202                echo ns32k-sni-sysv
1203        fi
1204        exit ;;
1205    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1206                      # says <Richard.M.Bartel@ccMail.Census.GOV>
1207        echo i586-unisys-sysv4
1208        exit ;;
1209    *:UNIX_System_V:4*:FTX*)
1210        # From Gerald Hewes <hewes@openmarket.com>.
1211        # How about differentiating between stratus architectures? -djm
1212        echo hppa1.1-stratus-sysv4
1213        exit ;;
1214    *:*:*:FTX*)
1215        # From seanf@swdc.stratus.com.
1216        echo i860-stratus-sysv4
1217        exit ;;
1218    i*86:VOS:*:*)
1219        # From Paul.Green@stratus.com.
1220        echo ${UNAME_MACHINE}-stratus-vos
1221        exit ;;
1222    *:VOS:*:*)
1223        # From Paul.Green@stratus.com.
1224        echo hppa1.1-stratus-vos
1225        exit ;;
1226    mc68*:A/UX:*:*)
1227        echo m68k-apple-aux${UNAME_RELEASE}
1228        exit ;;
1229    news*:NEWS-OS:6*:*)
1230        echo mips-sony-newsos6
1231        exit ;;
1232    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1233        if [ -d /usr/nec ]; then
1234                echo mips-nec-sysv${UNAME_RELEASE}
1235        else
1236                echo mips-unknown-sysv${UNAME_RELEASE}
1237        fi
1238        exit ;;
1239    BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
1240        echo powerpc-be-beos
1241        exit ;;
1242    BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
1243        echo powerpc-apple-beos
1244        exit ;;
1245    BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
1246        echo i586-pc-beos
1247        exit ;;
1248    BePC:Haiku:*:*)     # Haiku running on Intel PC compatible.
1249        echo i586-pc-haiku
1250        exit ;;
1251    SX-4:SUPER-UX:*:*)
1252        echo sx4-nec-superux${UNAME_RELEASE}
1253        exit ;;
1254    SX-5:SUPER-UX:*:*)
1255        echo sx5-nec-superux${UNAME_RELEASE}
1256        exit ;;
1257    SX-6:SUPER-UX:*:*)
1258        echo sx6-nec-superux${UNAME_RELEASE}
1259        exit ;;
1260    SX-7:SUPER-UX:*:*)
1261        echo sx7-nec-superux${UNAME_RELEASE}
1262        exit ;;
1263    SX-8:SUPER-UX:*:*)
1264        echo sx8-nec-superux${UNAME_RELEASE}
1265        exit ;;
1266    SX-8R:SUPER-UX:*:*)
1267        echo sx8r-nec-superux${UNAME_RELEASE}
1268        exit ;;
1269    Power*:Rhapsody:*:*)
1270        echo powerpc-apple-rhapsody${UNAME_RELEASE}
1271        exit ;;
1272    *:Rhapsody:*:*)
1273        echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1274        exit ;;
1275    *:Darwin:*:*)
1276        UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1277        case $UNAME_PROCESSOR in
1278            unknown) UNAME_PROCESSOR=powerpc ;;
1279        esac
1280        echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1281        exit ;;
1282    *:procnto*:*:* | *:QNX:[0123456789]*:*)
1283        UNAME_PROCESSOR=`uname -p`
1284        if test "$UNAME_PROCESSOR" = "x86"; then
1285                UNAME_PROCESSOR=i386
1286                UNAME_MACHINE=pc
1287        fi
1288        echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1289        exit ;;
1290    *:QNX:*:4*)
1291        echo i386-pc-qnx
1292        exit ;;
1293    NSE-?:NONSTOP_KERNEL:*:*)
1294        echo nse-tandem-nsk${UNAME_RELEASE}
1295        exit ;;
1296    NSR-?:NONSTOP_KERNEL:*:*)
1297        echo nsr-tandem-nsk${UNAME_RELEASE}
1298        exit ;;
1299    *:NonStop-UX:*:*)
1300        echo mips-compaq-nonstopux
1301        exit ;;
1302    BS2000:POSIX*:*:*)
1303        echo bs2000-siemens-sysv
1304        exit ;;
1305    DS/*:UNIX_System_V:*:*)
1306        echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1307        exit ;;
1308    *:Plan9:*:*)
1309        # "uname -m" is not consistent, so use $cputype instead. 386
1310        # is converted to i386 for consistency with other x86
1311        # operating systems.
1312        if test "$cputype" = "386"; then
1313            UNAME_MACHINE=i386
1314        else
1315            UNAME_MACHINE="$cputype"
1316        fi
1317        echo ${UNAME_MACHINE}-unknown-plan9
1318        exit ;;
1319    *:TOPS-10:*:*)
1320        echo pdp10-unknown-tops10
1321        exit ;;
1322    *:TENEX:*:*)
1323        echo pdp10-unknown-tenex
1324        exit ;;
1325    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1326        echo pdp10-dec-tops20
1327        exit ;;
1328    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1329        echo pdp10-xkl-tops20
1330        exit ;;
1331    *:TOPS-20:*:*)
1332        echo pdp10-unknown-tops20
1333        exit ;;
1334    *:ITS:*:*)
1335        echo pdp10-unknown-its
1336        exit ;;
1337    SEI:*:*:SEIUX)
1338        echo mips-sei-seiux${UNAME_RELEASE}
1339        exit ;;
1340    *:DragonFly:*:*)
1341        echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1342        exit ;;
1343    *:*VMS:*:*)
1344        UNAME_MACHINE=`(uname -p) 2>/dev/null`
1345        case "${UNAME_MACHINE}" in
1346            A*) echo alpha-dec-vms ; exit ;;
1347            I*) echo ia64-dec-vms ; exit ;;
1348            V*) echo vax-dec-vms ; exit ;;
1349        esac ;;
1350    *:XENIX:*:SysV)
1351        echo i386-pc-xenix
1352        exit ;;
1353    i*86:skyos:*:*)
1354        echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1355        exit ;;
1356    i*86:rdos:*:*)
1357        echo ${UNAME_MACHINE}-pc-rdos
1358        exit ;;
1359    i*86:AROS:*:*)
1360        echo ${UNAME_MACHINE}-pc-aros
1361        exit ;;
1362esac
1363
1364#echo '(No uname command or uname output not recognized.)' 1>&2
1365#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1366
1367eval $set_cc_for_build
1368cat >$dummy.c <<EOF
1369#ifdef _SEQUENT_
1370# include <sys/types.h>
1371# include <sys/utsname.h>
1372#endif
1373main ()
1374{
1375#if defined (sony)
1376#if defined (MIPSEB)
1377  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1378     I don't know....  */
1379  printf ("mips-sony-bsd\n"); exit (0);
1380#else
1381#include <sys/param.h>
1382  printf ("m68k-sony-newsos%s\n",
1383#ifdef NEWSOS4
1384          "4"
1385#else
1386          ""
1387#endif
1388         ); exit (0);
1389#endif
1390#endif
1391
1392#if defined (__arm) && defined (__acorn) && defined (__unix)
1393  printf ("arm-acorn-riscix\n"); exit (0);
1394#endif
1395
1396#if defined (hp300) && !defined (hpux)
1397  printf ("m68k-hp-bsd\n"); exit (0);
1398#endif
1399
1400#if defined (NeXT)
1401#if !defined (__ARCHITECTURE__)
1402#define __ARCHITECTURE__ "m68k"
1403#endif
1404  int version;
1405  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1406  if (version < 4)
1407    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1408  else
1409    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1410  exit (0);
1411#endif
1412
1413#if defined (MULTIMAX) || defined (n16)
1414#if defined (UMAXV)
1415  printf ("ns32k-encore-sysv\n"); exit (0);
1416#else
1417#if defined (CMU)
1418  printf ("ns32k-encore-mach\n"); exit (0);
1419#else
1420  printf ("ns32k-encore-bsd\n"); exit (0);
1421#endif
1422#endif
1423#endif
1424
1425#if defined (__386BSD__)
1426  printf ("i386-pc-bsd\n"); exit (0);
1427#endif
1428
1429#if defined (sequent)
1430#if defined (i386)
1431  printf ("i386-sequent-dynix\n"); exit (0);
1432#endif
1433#if defined (ns32000)
1434  printf ("ns32k-sequent-dynix\n"); exit (0);
1435#endif
1436#endif
1437
1438#if defined (_SEQUENT_)
1439    struct utsname un;
1440
1441    uname(&un);
1442
1443    if (strncmp(un.version, "V2", 2) == 0) {
1444        printf ("i386-sequent-ptx2\n"); exit (0);
1445    }
1446    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1447        printf ("i386-sequent-ptx1\n"); exit (0);
1448    }
1449    printf ("i386-sequent-ptx\n"); exit (0);
1450
1451#endif
1452
1453#if defined (vax)
1454# if !defined (ultrix)
1455#  include <sys/param.h>
1456#  if defined (BSD)
1457#   if BSD == 43
1458      printf ("vax-dec-bsd4.3\n"); exit (0);
1459#   else
1460#    if BSD == 199006
1461      printf ("vax-dec-bsd4.3reno\n"); exit (0);
1462#    else
1463      printf ("vax-dec-bsd\n"); exit (0);
1464#    endif
1465#   endif
1466#  else
1467    printf ("vax-dec-bsd\n"); exit (0);
1468#  endif
1469# else
1470    printf ("vax-dec-ultrix\n"); exit (0);
1471# endif
1472#endif
1473
1474#if defined (alliant) && defined (i860)
1475  printf ("i860-alliant-bsd\n"); exit (0);
1476#endif
1477
1478  exit (1);
1479}
1480EOF
1481
1482$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1483        { echo "$SYSTEM_NAME"; exit; }
1484
1485# Apollos put the system type in the environment.
1486
1487test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1488
1489# Convex versions that predate uname can use getsysinfo(1)
1490
1491if [ -x /usr/convex/getsysinfo ]
1492then
1493    case `getsysinfo -f cpu_type` in
1494    c1*)
1495        echo c1-convex-bsd
1496        exit ;;
1497    c2*)
1498        if getsysinfo -f scalar_acc
1499        then echo c32-convex-bsd
1500        else echo c2-convex-bsd
1501        fi
1502        exit ;;
1503    c34*)
1504        echo c34-convex-bsd
1505        exit ;;
1506    c38*)
1507        echo c38-convex-bsd
1508        exit ;;
1509    c4*)
1510        echo c4-convex-bsd
1511        exit ;;
1512    esac
1513fi
1514
1515cat >&2 <<EOF
1516$0: unable to guess system type
1517
1518This script, last modified $timestamp, has failed to recognize
1519the operating system you are using. It is advised that you
1520download the most up to date version of the config scripts from
1521
1522  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1523and
1524  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1525
1526If the version you run ($0) is already up to date, please
1527send the following data and any information you think might be
1528pertinent to <config-patches@gnu.org> in order to provide the needed
1529information to handle your system.
1530
1531config.guess timestamp = $timestamp
1532
1533uname -m = `(uname -m) 2>/dev/null || echo unknown`
1534uname -r = `(uname -r) 2>/dev/null || echo unknown`
1535uname -s = `(uname -s) 2>/dev/null || echo unknown`
1536uname -v = `(uname -v) 2>/dev/null || echo unknown`
1537
1538/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1539/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1540
1541hostinfo               = `(hostinfo) 2>/dev/null`
1542/bin/universe          = `(/bin/universe) 2>/dev/null`
1543/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1544/bin/arch              = `(/bin/arch) 2>/dev/null`
1545/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1546/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1547
1548UNAME_MACHINE = ${UNAME_MACHINE}
1549UNAME_RELEASE = ${UNAME_RELEASE}
1550UNAME_SYSTEM  = ${UNAME_SYSTEM}
1551UNAME_VERSION = ${UNAME_VERSION}
1552EOF
1553
1554exit 1
1555
1556# Local variables:
1557# eval: (add-hook 'write-file-hooks 'time-stamp)
1558# time-stamp-start: "timestamp='"
1559# time-stamp-format: "%:y-%02m-%02d"
1560# time-stamp-end: "'"
1561# End:
Note: See TracBrowser for help on using the repository browser.