adding readability-identifier-naming to llvm clang-tidy configuration.
[oota-llvm.git] / autoconf / config.guess
1 #! /bin/sh
2 # Attempt to guess a canonical system name.
3 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5 #   2011 Free Software Foundation, Inc.
6
7 timestamp='2011-08-20'
8
9 # This file is free software; you can redistribute it and/or modify it
10 # under the terms of the GNU General Public License as published by
11 # the Free Software Foundation; either version 2 of the License, or
12 # (at your option) any later version.
13 #
14 # This program is distributed in the hope that it will be useful, but
15 # WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17 # General Public License for more details.
18 #
19 # You should have received a copy of the GNU General Public License
20 # along with this program; if not, write to the Free Software
21 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
22 # 02110-1301, USA.
23 #
24 # As a special exception to the GNU General Public License, if you
25 # distribute this file as part of a program that contains a
26 # configuration script generated by Autoconf, you may include it under
27 # the same distribution terms that you use for the rest of that program.
28
29
30 # Originally written by Per Bothner.  Please send patches (context
31 # diff format) to <config-patches@gnu.org> and include a ChangeLog
32 # entry.
33 #
34 # This script attempts to guess a canonical system name similar to
35 # config.sub.  If it succeeds, it prints the system name on stdout, and
36 # exits with 0.  Otherwise, it exits with 1.
37 #
38 # You can get the latest version of this script from:
39 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
40
41 me=`echo "$0" | sed -e 's,.*/,,'`
42
43 usage="\
44 Usage: $0 [OPTION]
45
46 Output the configuration name of the system \`$me' is run on.
47
48 Operation modes:
49   -h, --help         print this help, then exit
50   -t, --time-stamp   print date of last modification, then exit
51   -v, --version      print version number, then exit
52
53 Report bugs and patches to <config-patches@gnu.org>."
54
55 version="\
56 GNU config.guess ($timestamp)
57
58 Originally written by Per Bothner.
59 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
60 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
61 Software Foundation, Inc.
62
63 This is free software; see the source for copying conditions.  There is NO
64 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
65
66 help="
67 Try \`$me --help' for more information."
68
69 # Parse command line
70 while test $# -gt 0 ; do
71   case $1 in
72     --time-stamp | --time* | -t )
73        echo "$timestamp" ; exit ;;
74     --version | -v )
75        echo "$version" ; exit ;;
76     --help | --h* | -h )
77        echo "$usage"; exit ;;
78     -- )     # Stop option processing
79        shift; break ;;
80     - ) # Use stdin as input.
81        break ;;
82     -* )
83        echo "$me: invalid option $1$help" >&2
84        exit 1 ;;
85     * )
86        break ;;
87   esac
88 done
89
90 if test $# != 0; then
91   echo "$me: too many arguments$help" >&2
92   exit 1
93 fi
94
95 trap 'exit 1' 1 2 15
96
97 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
98 # compiler to aid in system detection is discouraged as it requires
99 # temporary files to be created and, as you can see below, it is a
100 # headache to deal with in a portable fashion.
101
102 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
103 # use `HOST_CC' if defined, but it is deprecated.
104
105 # Portable tmp directory creation inspired by the Autoconf team.
106
107 set_cc_for_build='
108 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
109 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
110 : ${TMPDIR=/tmp} ;
111  { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
112  { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
113  { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
114  { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
115 dummy=$tmp/dummy ;
116 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
117 case $CC_FOR_BUILD,$HOST_CC,$CC in
118  ,,)    echo "int x;" > $dummy.c ;
119         for c in cc gcc c89 c99 ; do
120           if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
121              CC_FOR_BUILD="$c"; break ;
122           fi ;
123         done ;
124         if test x"$CC_FOR_BUILD" = x ; then
125           CC_FOR_BUILD=no_compiler_found ;
126         fi
127         ;;
128  ,,*)   CC_FOR_BUILD=$CC ;;
129  ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
130 esac ; set_cc_for_build= ;'
131
132 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
133 # (ghazi@noc.rutgers.edu 1994-08-24)
134 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
135         PATH=$PATH:/.attbin ; export PATH
136 fi
137
138 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
139 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
140 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
141 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
142
143 # Note: order is significant - the case branches are not exclusive.
144
145 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
146     *:NetBSD:*:*)
147         # NetBSD (nbsd) targets should (where applicable) match one or
148         # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
149         # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
150         # switched to ELF, *-*-netbsd* would select the old
151         # object file format.  This provides both forward
152         # compatibility and a consistent mechanism for selecting the
153         # object file format.
154         #
155         # Note: NetBSD doesn't particularly care about the vendor
156         # portion of the name.  We always set it to "unknown".
157         sysctl="sysctl -n hw.machine_arch"
158         UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
159             /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
160         case "${UNAME_MACHINE_ARCH}" in
161             armeb) machine=armeb-unknown ;;
162             arm*) machine=arm-unknown ;;
163             sh3el) machine=shl-unknown ;;
164             sh3eb) machine=sh-unknown ;;
165             sh5el) machine=sh5le-unknown ;;
166             *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
167         esac
168         # The Operating System including object format, if it has switched
169         # to ELF recently, or will in the future.
170         case "${UNAME_MACHINE_ARCH}" in
171             arm*|i386|m68k|ns32k|sh3*|sparc|vax)
172                 eval $set_cc_for_build
173                 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
174                         | grep -q __ELF__
175                 then
176                     # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
177                     # Return netbsd for either.  FIX?
178                     os=netbsd
179                 else
180                     os=netbsdelf
181                 fi
182                 ;;
183             *)
184                 os=netbsd
185                 ;;
186         esac
187         # The OS release
188         # Debian GNU/NetBSD machines have a different userland, and
189         # thus, need a distinct triplet. However, they do not need
190         # kernel version information, so it can be replaced with a
191         # suitable tag, in the style of linux-gnu.
192         case "${UNAME_VERSION}" in
193             Debian*)
194                 release='-gnu'
195                 ;;
196             *)
197                 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
198                 ;;
199         esac
200         # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
201         # contains redundant information, the shorter form:
202         # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
203         echo "${machine}-${os}${release}"
204         exit ;;
205     *:OpenBSD:*:*)
206         UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
207         echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
208         exit ;;
209     *:Bitrig:*:*)
210         UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
211         echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
212         exit ;;
213     *:ekkoBSD:*:*)
214         echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
215         exit ;;
216     *:SolidBSD:*:*)
217         echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
218         exit ;;
219     macppc:MirBSD:*:*)
220         echo powerpc-unknown-mirbsd${UNAME_RELEASE}
221         exit ;;
222     *:MirBSD:*:*)
223         echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
224         exit ;;
225     alpha:OSF1:*:*)
226         case $UNAME_RELEASE in
227         *4.0)
228                 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
229                 ;;
230         *5.*)
231                 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
232                 ;;
233         esac
234         # According to Compaq, /usr/sbin/psrinfo has been available on
235         # OSF/1 and Tru64 systems produced since 1995.  I hope that
236         # covers most systems running today.  This code pipes the CPU
237         # types through head -n 1, so we only detect the type of CPU 0.
238         ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
239         case "$ALPHA_CPU_TYPE" in
240             "EV4 (21064)")
241                 UNAME_MACHINE="alpha" ;;
242             "EV4.5 (21064)")
243                 UNAME_MACHINE="alpha" ;;
244             "LCA4 (21066/21068)")
245                 UNAME_MACHINE="alpha" ;;
246             "EV5 (21164)")
247                 UNAME_MACHINE="alphaev5" ;;
248             "EV5.6 (21164A)")
249                 UNAME_MACHINE="alphaev56" ;;
250             "EV5.6 (21164PC)")
251                 UNAME_MACHINE="alphapca56" ;;
252             "EV5.7 (21164PC)")
253                 UNAME_MACHINE="alphapca57" ;;
254             "EV6 (21264)")
255                 UNAME_MACHINE="alphaev6" ;;
256             "EV6.7 (21264A)")
257                 UNAME_MACHINE="alphaev67" ;;
258             "EV6.8CB (21264C)")
259                 UNAME_MACHINE="alphaev68" ;;
260             "EV6.8AL (21264B)")
261                 UNAME_MACHINE="alphaev68" ;;
262             "EV6.8CX (21264D)")
263                 UNAME_MACHINE="alphaev68" ;;
264             "EV6.9A (21264/EV69A)")
265                 UNAME_MACHINE="alphaev69" ;;
266             "EV7 (21364)")
267                 UNAME_MACHINE="alphaev7" ;;
268             "EV7.9 (21364A)")
269                 UNAME_MACHINE="alphaev79" ;;
270         esac
271         # A Pn.n version is a patched version.
272         # A Vn.n version is a released version.
273         # A Tn.n version is a released field test version.
274         # A Xn.n version is an unreleased experimental baselevel.
275         # 1.2 uses "1.2" for uname -r.
276         echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
277         # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
278         exitcode=$?
279         trap '' 0
280         exit $exitcode ;;
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         UNAME_PROCESSOR=`/usr/bin/uname -p`
800         case ${UNAME_PROCESSOR} in
801             amd64)
802                 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
803             *)
804                 echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
805         esac
806         exit ;;
807     i*:CYGWIN*:*)
808         echo ${UNAME_MACHINE}-pc-cygwin
809         exit ;;
810     *:MINGW*:*)
811         echo ${UNAME_MACHINE}-pc-mingw32
812         exit ;;
813     *:MSYS*:*)
814         echo ${UNAME_MACHINE}-pc-msys
815         exit ;;
816     i*:windows32*:*)
817         # uname -m includes "-pc" on this system.
818         echo ${UNAME_MACHINE}-mingw32
819         exit ;;
820     i*:PW*:*)
821         echo ${UNAME_MACHINE}-pc-pw32
822         exit ;;
823     *:Interix*:*)
824         case ${UNAME_MACHINE} in
825             x86)
826                 echo i586-pc-interix${UNAME_RELEASE}
827                 exit ;;
828             authenticamd | genuineintel | EM64T)
829                 echo x86_64-unknown-interix${UNAME_RELEASE}
830                 exit ;;
831             IA64)
832                 echo ia64-unknown-interix${UNAME_RELEASE}
833                 exit ;;
834         esac ;;
835     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
836         echo i${UNAME_MACHINE}-pc-mks
837         exit ;;
838     8664:Windows_NT:*)
839         echo x86_64-pc-mks
840         exit ;;
841     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
842         # How do we know it's Interix rather than the generic POSIX subsystem?
843         # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
844         # UNAME_MACHINE based on the output of uname instead of i386?
845         echo i586-pc-interix
846         exit ;;
847     i*:UWIN*:*)
848         echo ${UNAME_MACHINE}-pc-uwin
849         exit ;;
850     amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
851         echo x86_64-unknown-cygwin
852         exit ;;
853     p*:CYGWIN*:*)
854         echo powerpcle-unknown-cygwin
855         exit ;;
856     prep*:SunOS:5.*:*)
857         echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
858         exit ;;
859     *:GNU:*:*)
860         # the GNU system
861         echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
862         exit ;;
863     *:GNU/*:*:*)
864         # other systems with GNU libc and userland
865         echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
866         exit ;;
867     i*86:Minix:*:*)
868         echo ${UNAME_MACHINE}-pc-minix
869         exit ;;
870     aarch64*:Linux:*)
871             echo ${UNAME_MACHINE}-unknown-linux-gnu
872         exit ;;
873     alpha:Linux:*:*)
874         case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
875           EV5)   UNAME_MACHINE=alphaev5 ;;
876           EV56)  UNAME_MACHINE=alphaev56 ;;
877           PCA56) UNAME_MACHINE=alphapca56 ;;
878           PCA57) UNAME_MACHINE=alphapca56 ;;
879           EV6)   UNAME_MACHINE=alphaev6 ;;
880           EV67)  UNAME_MACHINE=alphaev67 ;;
881           EV68*) UNAME_MACHINE=alphaev68 ;;
882         esac
883         objdump --private-headers /bin/sh | grep -q ld.so.1
884         if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
885         echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
886         exit ;;
887     arm*:Linux:*:*)
888         eval $set_cc_for_build
889         if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
890             | grep -q __ARM_EABI__
891         then
892             echo ${UNAME_MACHINE}-unknown-linux-gnu
893         else
894             if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
895                 | grep -q __ARM_PCS_VFP
896             then
897                 echo ${UNAME_MACHINE}-unknown-linux-gnueabi
898             else
899                 echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
900             fi
901         fi
902         exit ;;
903     avr32*:Linux:*:*)
904         echo ${UNAME_MACHINE}-unknown-linux-gnu
905         exit ;;
906     cris:Linux:*:*)
907         echo cris-axis-linux-gnu
908         exit ;;
909     crisv32:Linux:*:*)
910         echo crisv32-axis-linux-gnu
911         exit ;;
912     frv:Linux:*:*)
913         echo frv-unknown-linux-gnu
914         exit ;;
915     i*86:Linux:*:*)
916         LIBC=gnu
917         eval $set_cc_for_build
918         sed 's/^        //' << EOF >$dummy.c
919         #ifdef __dietlibc__
920         LIBC=dietlibc
921         #endif
922 EOF
923         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
924         echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
925         exit ;;
926     ia64:Linux:*:*)
927         echo ${UNAME_MACHINE}-unknown-linux-gnu
928         exit ;;
929     m32r*:Linux:*:*)
930         echo ${UNAME_MACHINE}-unknown-linux-gnu
931         exit ;;
932     m68*:Linux:*:*)
933         echo ${UNAME_MACHINE}-unknown-linux-gnu
934         exit ;;
935     mips:Linux:*:* | mips64:Linux:*:*)
936         eval $set_cc_for_build
937         sed 's/^        //' << EOF >$dummy.c
938         #undef CPU
939         #undef ${UNAME_MACHINE}
940         #undef ${UNAME_MACHINE}el
941         #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
942         CPU=${UNAME_MACHINE}el
943         #else
944         #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
945         CPU=${UNAME_MACHINE}
946         #else
947         CPU=
948         #endif
949         #endif
950 EOF
951         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
952         test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
953         ;;
954     or32:Linux:*:*)
955         echo or32-unknown-linux-gnu
956         exit ;;
957     padre:Linux:*:*)
958         echo sparc-unknown-linux-gnu
959         exit ;;
960     parisc64:Linux:*:* | hppa64:Linux:*:*)
961         echo hppa64-unknown-linux-gnu
962         exit ;;
963     parisc:Linux:*:* | hppa:Linux:*:*)
964         # Look for CPU level
965         case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
966           PA7*) echo hppa1.1-unknown-linux-gnu ;;
967           PA8*) echo hppa2.0-unknown-linux-gnu ;;
968           *)    echo hppa-unknown-linux-gnu ;;
969         esac
970         exit ;;
971     ppc64:Linux:*:*)
972         echo powerpc64-unknown-linux-gnu
973         exit ;;
974     ppc64le:Linux:*:*)
975         echo powerpc64le-unknown-linux-gnu
976         exit ;;
977     ppc:Linux:*:*)
978         echo powerpc-unknown-linux-gnu
979         exit ;;
980     s390:Linux:*:* | s390x:Linux:*:*)
981         echo ${UNAME_MACHINE}-ibm-linux
982         exit ;;
983     sh64*:Linux:*:*)
984         echo ${UNAME_MACHINE}-unknown-linux-gnu
985         exit ;;
986     sh*:Linux:*:*)
987         echo ${UNAME_MACHINE}-unknown-linux-gnu
988         exit ;;
989     sparc:Linux:*:* | sparc64:Linux:*:*)
990         echo ${UNAME_MACHINE}-unknown-linux-gnu
991         exit ;;
992     tile*:Linux:*:*)
993         echo ${UNAME_MACHINE}-unknown-linux-gnu
994         exit ;;
995     vax:Linux:*:*)
996         echo ${UNAME_MACHINE}-dec-linux-gnu
997         exit ;;
998     x86_64:Linux:*:*)
999         echo x86_64-unknown-linux-gnu
1000         exit ;;
1001     xtensa*:Linux:*:*)
1002         echo ${UNAME_MACHINE}-unknown-linux-gnu
1003         exit ;;
1004     i*86:DYNIX/ptx:4*:*)
1005         # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1006         # earlier versions are messed up and put the nodename in both
1007         # sysname and nodename.
1008         echo i386-sequent-sysv4
1009         exit ;;
1010     i*86:UNIX_SV:4.2MP:2.*)
1011         # Unixware is an offshoot of SVR4, but it has its own version
1012         # number series starting with 2...
1013         # I am not positive that other SVR4 systems won't match this,
1014         # I just have to hope.  -- rms.
1015         # Use sysv4.2uw... so that sysv4* matches it.
1016         echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1017         exit ;;
1018     i*86:OS/2:*:*)
1019         # If we were able to find `uname', then EMX Unix compatibility
1020         # is probably installed.
1021         echo ${UNAME_MACHINE}-pc-os2-emx
1022         exit ;;
1023     i*86:XTS-300:*:STOP)
1024         echo ${UNAME_MACHINE}-unknown-stop
1025         exit ;;
1026     i*86:atheos:*:*)
1027         echo ${UNAME_MACHINE}-unknown-atheos
1028         exit ;;
1029     i*86:syllable:*:*)
1030         echo ${UNAME_MACHINE}-pc-syllable
1031         exit ;;
1032     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1033         echo i386-unknown-lynxos${UNAME_RELEASE}
1034         exit ;;
1035     i*86:*DOS:*:*)
1036         echo ${UNAME_MACHINE}-pc-msdosdjgpp
1037         exit ;;
1038     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1039         UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1040         if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1041                 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1042         else
1043                 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1044         fi
1045         exit ;;
1046     i*86:*:5:[678]*)
1047         # UnixWare 7.x, OpenUNIX and OpenServer 6.
1048         case `/bin/uname -X | grep "^Machine"` in
1049             *486*)           UNAME_MACHINE=i486 ;;
1050             *Pentium)        UNAME_MACHINE=i586 ;;
1051             *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1052         esac
1053         echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1054         exit ;;
1055     i*86:*:3.2:*)
1056         if test -f /usr/options/cb.name; then
1057                 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1058                 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1059         elif /bin/uname -X 2>/dev/null >/dev/null ; then
1060                 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1061                 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1062                 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1063                         && UNAME_MACHINE=i586
1064                 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1065                         && UNAME_MACHINE=i686
1066                 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1067                         && UNAME_MACHINE=i686
1068                 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1069         else
1070                 echo ${UNAME_MACHINE}-pc-sysv32
1071         fi
1072         exit ;;
1073     pc:*:*:*)
1074         # Left here for compatibility:
1075         # uname -m prints for DJGPP always 'pc', but it prints nothing about
1076         # the processor, so we play safe by assuming i586.
1077         # Note: whatever this is, it MUST be the same as what config.sub
1078         # prints for the "djgpp" host, or else GDB configury will decide that
1079         # this is a cross-build.
1080         echo i586-pc-msdosdjgpp
1081         exit ;;
1082     Intel:Mach:3*:*)
1083         echo i386-pc-mach3
1084         exit ;;
1085     paragon:*:*:*)
1086         echo i860-intel-osf1
1087         exit ;;
1088     i860:*:4.*:*) # i860-SVR4
1089         if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1090           echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1091         else # Add other i860-SVR4 vendors below as they are discovered.
1092           echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1093         fi
1094         exit ;;
1095     mini*:CTIX:SYS*5:*)
1096         # "miniframe"
1097         echo m68010-convergent-sysv
1098         exit ;;
1099     mc68k:UNIX:SYSTEM5:3.51m)
1100         echo m68k-convergent-sysv
1101         exit ;;
1102     M680?0:D-NIX:5.3:*)
1103         echo m68k-diab-dnix
1104         exit ;;
1105     M68*:*:R3V[5678]*:*)
1106         test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1107     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)
1108         OS_REL=''
1109         test -r /etc/.relid \
1110         && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1111         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1112           && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1113         /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1114           && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1115     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1116         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1117           && { echo i486-ncr-sysv4; exit; } ;;
1118     NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1119         OS_REL='.3'
1120         test -r /etc/.relid \
1121             && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1122         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1123             && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1124         /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1125             && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1126         /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1127             && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1128     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1129         echo m68k-unknown-lynxos${UNAME_RELEASE}
1130         exit ;;
1131     mc68030:UNIX_System_V:4.*:*)
1132         echo m68k-atari-sysv4
1133         exit ;;
1134     TSUNAMI:LynxOS:2.*:*)
1135         echo sparc-unknown-lynxos${UNAME_RELEASE}
1136         exit ;;
1137     rs6000:LynxOS:2.*:*)
1138         echo rs6000-unknown-lynxos${UNAME_RELEASE}
1139         exit ;;
1140     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1141         echo powerpc-unknown-lynxos${UNAME_RELEASE}
1142         exit ;;
1143     SM[BE]S:UNIX_SV:*:*)
1144         echo mips-dde-sysv${UNAME_RELEASE}
1145         exit ;;
1146     RM*:ReliantUNIX-*:*:*)
1147         echo mips-sni-sysv4
1148         exit ;;
1149     RM*:SINIX-*:*:*)
1150         echo mips-sni-sysv4
1151         exit ;;
1152     *:SINIX-*:*:*)
1153         if uname -p 2>/dev/null >/dev/null ; then
1154                 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1155                 echo ${UNAME_MACHINE}-sni-sysv4
1156         else
1157                 echo ns32k-sni-sysv
1158         fi
1159         exit ;;
1160     PENTIUM:*:4.0*:*)   # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1161                         # says <Richard.M.Bartel@ccMail.Census.GOV>
1162         echo i586-unisys-sysv4
1163         exit ;;
1164     *:UNIX_System_V:4*:FTX*)
1165         # From Gerald Hewes <hewes@openmarket.com>.
1166         # How about differentiating between stratus architectures? -djm
1167         echo hppa1.1-stratus-sysv4
1168         exit ;;
1169     *:*:*:FTX*)
1170         # From seanf@swdc.stratus.com.
1171         echo i860-stratus-sysv4
1172         exit ;;
1173     i*86:VOS:*:*)
1174         # From Paul.Green@stratus.com.
1175         echo ${UNAME_MACHINE}-stratus-vos
1176         exit ;;
1177     *:VOS:*:*)
1178         # From Paul.Green@stratus.com.
1179         echo hppa1.1-stratus-vos
1180         exit ;;
1181     mc68*:A/UX:*:*)
1182         echo m68k-apple-aux${UNAME_RELEASE}
1183         exit ;;
1184     news*:NEWS-OS:6*:*)
1185         echo mips-sony-newsos6
1186         exit ;;
1187     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1188         if [ -d /usr/nec ]; then
1189                 echo mips-nec-sysv${UNAME_RELEASE}
1190         else
1191                 echo mips-unknown-sysv${UNAME_RELEASE}
1192         fi
1193         exit ;;
1194     BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
1195         echo powerpc-be-beos
1196         exit ;;
1197     BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
1198         echo powerpc-apple-beos
1199         exit ;;
1200     BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
1201         echo i586-pc-beos
1202         exit ;;
1203     BePC:Haiku:*:*)     # Haiku running on Intel PC compatible.
1204         echo i586-pc-haiku
1205         exit ;;
1206     SX-4:SUPER-UX:*:*)
1207         echo sx4-nec-superux${UNAME_RELEASE}
1208         exit ;;
1209     SX-5:SUPER-UX:*:*)
1210         echo sx5-nec-superux${UNAME_RELEASE}
1211         exit ;;
1212     SX-6:SUPER-UX:*:*)
1213         echo sx6-nec-superux${UNAME_RELEASE}
1214         exit ;;
1215     SX-7:SUPER-UX:*:*)
1216         echo sx7-nec-superux${UNAME_RELEASE}
1217         exit ;;
1218     SX-8:SUPER-UX:*:*)
1219         echo sx8-nec-superux${UNAME_RELEASE}
1220         exit ;;
1221     SX-8R:SUPER-UX:*:*)
1222         echo sx8r-nec-superux${UNAME_RELEASE}
1223         exit ;;
1224     Power*:Rhapsody:*:*)
1225         echo powerpc-apple-rhapsody${UNAME_RELEASE}
1226         exit ;;
1227     *:Rhapsody:*:*)
1228         echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1229         exit ;;
1230     *:Darwin:*:*)
1231         UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1232         case $UNAME_PROCESSOR in
1233             i386)
1234                 eval $set_cc_for_build
1235                 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1236                   if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1237                       (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1238                       grep IS_64BIT_ARCH >/dev/null
1239                   then
1240                       UNAME_PROCESSOR="x86_64"
1241                   fi
1242                 fi ;;
1243             unknown) UNAME_PROCESSOR=powerpc ;;
1244         esac
1245         echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1246         exit ;;
1247     *:procnto*:*:* | *:QNX:[0123456789]*:*)
1248         UNAME_PROCESSOR=`uname -p`
1249         if test "$UNAME_PROCESSOR" = "x86"; then
1250                 UNAME_PROCESSOR=i386
1251                 UNAME_MACHINE=pc
1252         fi
1253         echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1254         exit ;;
1255     *:QNX:*:4*)
1256         echo i386-pc-qnx
1257         exit ;;
1258     NEO-?:NONSTOP_KERNEL:*:*)
1259         echo neo-tandem-nsk${UNAME_RELEASE}
1260         exit ;;
1261     NSE-?:NONSTOP_KERNEL:*:*)
1262         echo nse-tandem-nsk${UNAME_RELEASE}
1263         exit ;;
1264     NSR-?:NONSTOP_KERNEL:*:*)
1265         echo nsr-tandem-nsk${UNAME_RELEASE}
1266         exit ;;
1267     *:NonStop-UX:*:*)
1268         echo mips-compaq-nonstopux
1269         exit ;;
1270     BS2000:POSIX*:*:*)
1271         echo bs2000-siemens-sysv
1272         exit ;;
1273     DS/*:UNIX_System_V:*:*)
1274         echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1275         exit ;;
1276     *:Plan9:*:*)
1277         # "uname -m" is not consistent, so use $cputype instead. 386
1278         # is converted to i386 for consistency with other x86
1279         # operating systems.
1280         if test "$cputype" = "386"; then
1281             UNAME_MACHINE=i386
1282         else
1283             UNAME_MACHINE="$cputype"
1284         fi
1285         echo ${UNAME_MACHINE}-unknown-plan9
1286         exit ;;
1287     *:TOPS-10:*:*)
1288         echo pdp10-unknown-tops10
1289         exit ;;
1290     *:TENEX:*:*)
1291         echo pdp10-unknown-tenex
1292         exit ;;
1293     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1294         echo pdp10-dec-tops20
1295         exit ;;
1296     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1297         echo pdp10-xkl-tops20
1298         exit ;;
1299     *:TOPS-20:*:*)
1300         echo pdp10-unknown-tops20
1301         exit ;;
1302     *:ITS:*:*)
1303         echo pdp10-unknown-its
1304         exit ;;
1305     SEI:*:*:SEIUX)
1306         echo mips-sei-seiux${UNAME_RELEASE}
1307         exit ;;
1308     *:DragonFly:*:*)
1309         echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1310         exit ;;
1311     *:*VMS:*:*)
1312         UNAME_MACHINE=`(uname -p) 2>/dev/null`
1313         case "${UNAME_MACHINE}" in
1314             A*) echo alpha-dec-vms ; exit ;;
1315             I*) echo ia64-dec-vms ; exit ;;
1316             V*) echo vax-dec-vms ; exit ;;
1317         esac ;;
1318     *:XENIX:*:SysV)
1319         echo i386-pc-xenix
1320         exit ;;
1321     i*86:skyos:*:*)
1322         echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1323         exit ;;
1324     i*86:rdos:*:*)
1325         echo ${UNAME_MACHINE}-pc-rdos
1326         exit ;;
1327     i*86:AROS:*:*)
1328         echo ${UNAME_MACHINE}-pc-aros
1329         exit ;;
1330 esac
1331
1332 #echo '(No uname command or uname output not recognized.)' 1>&2
1333 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1334
1335 eval $set_cc_for_build
1336 cat >$dummy.c <<EOF
1337 #ifdef _SEQUENT_
1338 # include <sys/types.h>
1339 # include <sys/utsname.h>
1340 #endif
1341 main ()
1342 {
1343 #if defined (sony)
1344 #if defined (MIPSEB)
1345   /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1346      I don't know....  */
1347   printf ("mips-sony-bsd\n"); exit (0);
1348 #else
1349 #include <sys/param.h>
1350   printf ("m68k-sony-newsos%s\n",
1351 #ifdef NEWSOS4
1352         "4"
1353 #else
1354         ""
1355 #endif
1356         ); exit (0);
1357 #endif
1358 #endif
1359
1360 #if defined (__arm) && defined (__acorn) && defined (__unix)
1361   printf ("arm-acorn-riscix\n"); exit (0);
1362 #endif
1363
1364 #if defined (hp300) && !defined (hpux)
1365   printf ("m68k-hp-bsd\n"); exit (0);
1366 #endif
1367
1368 #if defined (NeXT)
1369 #if !defined (__ARCHITECTURE__)
1370 #define __ARCHITECTURE__ "m68k"
1371 #endif
1372   int version;
1373   version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1374   if (version < 4)
1375     printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1376   else
1377     printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1378   exit (0);
1379 #endif
1380
1381 #if defined (MULTIMAX) || defined (n16)
1382 #if defined (UMAXV)
1383   printf ("ns32k-encore-sysv\n"); exit (0);
1384 #else
1385 #if defined (CMU)
1386   printf ("ns32k-encore-mach\n"); exit (0);
1387 #else
1388   printf ("ns32k-encore-bsd\n"); exit (0);
1389 #endif
1390 #endif
1391 #endif
1392
1393 #if defined (__386BSD__)
1394   printf ("i386-pc-bsd\n"); exit (0);
1395 #endif
1396
1397 #if defined (sequent)
1398 #if defined (i386)
1399   printf ("i386-sequent-dynix\n"); exit (0);
1400 #endif
1401 #if defined (ns32000)
1402   printf ("ns32k-sequent-dynix\n"); exit (0);
1403 #endif
1404 #endif
1405
1406 #if defined (_SEQUENT_)
1407     struct utsname un;
1408
1409     uname(&un);
1410
1411     if (strncmp(un.version, "V2", 2) == 0) {
1412         printf ("i386-sequent-ptx2\n"); exit (0);
1413     }
1414     if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1415         printf ("i386-sequent-ptx1\n"); exit (0);
1416     }
1417     printf ("i386-sequent-ptx\n"); exit (0);
1418
1419 #endif
1420
1421 #if defined (vax)
1422 # if !defined (ultrix)
1423 #  include <sys/param.h>
1424 #  if defined (BSD)
1425 #   if BSD == 43
1426       printf ("vax-dec-bsd4.3\n"); exit (0);
1427 #   else
1428 #    if BSD == 199006
1429       printf ("vax-dec-bsd4.3reno\n"); exit (0);
1430 #    else
1431       printf ("vax-dec-bsd\n"); exit (0);
1432 #    endif
1433 #   endif
1434 #  else
1435     printf ("vax-dec-bsd\n"); exit (0);
1436 #  endif
1437 # else
1438     printf ("vax-dec-ultrix\n"); exit (0);
1439 # endif
1440 #endif
1441
1442 #if defined (alliant) && defined (i860)
1443   printf ("i860-alliant-bsd\n"); exit (0);
1444 #endif
1445
1446   exit (1);
1447 }
1448 EOF
1449
1450 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1451         { echo "$SYSTEM_NAME"; exit; }
1452
1453 # Apollos put the system type in the environment.
1454
1455 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1456
1457 # Convex versions that predate uname can use getsysinfo(1)
1458
1459 if [ -x /usr/convex/getsysinfo ]
1460 then
1461     case `getsysinfo -f cpu_type` in
1462     c1*)
1463         echo c1-convex-bsd
1464         exit ;;
1465     c2*)
1466         if getsysinfo -f scalar_acc
1467         then echo c32-convex-bsd
1468         else echo c2-convex-bsd
1469         fi
1470         exit ;;
1471     c34*)
1472         echo c34-convex-bsd
1473         exit ;;
1474     c38*)
1475         echo c38-convex-bsd
1476         exit ;;
1477     c4*)
1478         echo c4-convex-bsd
1479         exit ;;
1480     esac
1481 fi
1482
1483 cat >&2 <<EOF
1484 $0: unable to guess system type
1485
1486 This script, last modified $timestamp, has failed to recognize
1487 the operating system you are using. It is advised that you
1488 download the most up to date version of the config scripts from
1489
1490   http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1491 and
1492   http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1493
1494 If the version you run ($0) is already up to date, please
1495 send the following data and any information you think might be
1496 pertinent to <config-patches@gnu.org> in order to provide the needed
1497 information to handle your system.
1498
1499 config.guess timestamp = $timestamp
1500
1501 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1502 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1503 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1504 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1505
1506 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1507 /bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1508
1509 hostinfo               = `(hostinfo) 2>/dev/null`
1510 /bin/universe          = `(/bin/universe) 2>/dev/null`
1511 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1512 /bin/arch              = `(/bin/arch) 2>/dev/null`
1513 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1514 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1515
1516 UNAME_MACHINE = ${UNAME_MACHINE}
1517 UNAME_RELEASE = ${UNAME_RELEASE}
1518 UNAME_SYSTEM  = ${UNAME_SYSTEM}
1519 UNAME_VERSION = ${UNAME_VERSION}
1520 EOF
1521
1522 exit 1
1523
1524 # Local variables:
1525 # eval: (add-hook 'write-file-hooks 'time-stamp)
1526 # time-stamp-start: "timestamp='"
1527 # time-stamp-format: "%:y-%02m-%02d"
1528 # time-stamp-end: "'"
1529 # End: