source: trunk/third/gcalctool/config.guess @ 21030

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