source: trunk/third/gnome-nettool/config.guess @ 21079

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