source: trunk/cf/config.guess @ 5401

Last change on this file since 5401 was 3277, checked in by gah, 11 years ago

fixes for 1.9 ruby build

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