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