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