Implement git magic to create beta version numbers.
[npth.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 Free Software Foundation, Inc.
6
7 timestamp='2012-01-01'
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, 2012
61 Free 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 tuples: *-*-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     *: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     *:MINGW*:*)
807         echo ${UNAME_MACHINE}-pc-mingw32
808         exit ;;
809     i*:MSYS*:*)
810         echo ${UNAME_MACHINE}-pc-msys
811         exit ;;
812     i*:windows32*:*)
813         # uname -m includes "-pc" on this system.
814         echo ${UNAME_MACHINE}-mingw32
815         exit ;;
816     i*:PW*:*)
817         echo ${UNAME_MACHINE}-pc-pw32
818         exit ;;
819     *:Interix*:*)
820         case ${UNAME_MACHINE} in
821             x86)
822                 echo i586-pc-interix${UNAME_RELEASE}
823                 exit ;;
824             authenticamd | genuineintel | EM64T)
825                 echo x86_64-unknown-interix${UNAME_RELEASE}
826                 exit ;;
827             IA64)
828                 echo ia64-unknown-interix${UNAME_RELEASE}
829                 exit ;;
830         esac ;;
831     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
832         echo i${UNAME_MACHINE}-pc-mks
833         exit ;;
834     8664:Windows_NT:*)
835         echo x86_64-pc-mks
836         exit ;;
837     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
838         # How do we know it's Interix rather than the generic POSIX subsystem?
839         # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
840         # UNAME_MACHINE based on the output of uname instead of i386?
841         echo i586-pc-interix
842         exit ;;
843     i*:UWIN*:*)
844         echo ${UNAME_MACHINE}-pc-uwin
845         exit ;;
846     amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
847         echo x86_64-unknown-cygwin
848         exit ;;
849     p*:CYGWIN*:*)
850         echo powerpcle-unknown-cygwin
851         exit ;;
852     prep*:SunOS:5.*:*)
853         echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
854         exit ;;
855     *:GNU:*:*)
856         # the GNU system
857         echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
858         exit ;;
859     *:GNU/*:*:*)
860         # other systems with GNU libc and userland
861         echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
862         exit ;;
863     i*86:Minix:*:*)
864         echo ${UNAME_MACHINE}-pc-minix
865         exit ;;
866     alpha:Linux:*:*)
867         case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
868           EV5)   UNAME_MACHINE=alphaev5 ;;
869           EV56)  UNAME_MACHINE=alphaev56 ;;
870           PCA56) UNAME_MACHINE=alphapca56 ;;
871           PCA57) UNAME_MACHINE=alphapca56 ;;
872           EV6)   UNAME_MACHINE=alphaev6 ;;
873           EV67)  UNAME_MACHINE=alphaev67 ;;
874           EV68*) UNAME_MACHINE=alphaev68 ;;
875         esac
876         objdump --private-headers /bin/sh | grep -q ld.so.1
877         if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
878         echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
879         exit ;;
880     arm*:Linux:*:*)
881         eval $set_cc_for_build
882         if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
883             | grep -q __ARM_EABI__
884         then
885             echo ${UNAME_MACHINE}-unknown-linux-gnu
886         else
887             if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
888                 | grep -q __ARM_PCS_VFP
889             then
890                 echo ${UNAME_MACHINE}-unknown-linux-gnueabi
891             else
892                 echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
893             fi
894         fi
895         exit ;;
896     avr32*:Linux:*:*)
897         echo ${UNAME_MACHINE}-unknown-linux-gnu
898         exit ;;
899     cris:Linux:*:*)
900         echo ${UNAME_MACHINE}-axis-linux-gnu
901         exit ;;
902     crisv32:Linux:*:*)
903         echo ${UNAME_MACHINE}-axis-linux-gnu
904         exit ;;
905     frv:Linux:*:*)
906         echo ${UNAME_MACHINE}-unknown-linux-gnu
907         exit ;;
908     hexagon:Linux:*:*)
909         echo ${UNAME_MACHINE}-unknown-linux-gnu
910         exit ;;
911     i*86:Linux:*:*)
912         LIBC=gnu
913         eval $set_cc_for_build
914         sed 's/^        //' << EOF >$dummy.c
915         #ifdef __dietlibc__
916         LIBC=dietlibc
917         #endif
918 EOF
919         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
920         echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
921         exit ;;
922     ia64:Linux:*:*)
923         echo ${UNAME_MACHINE}-unknown-linux-gnu
924         exit ;;
925     m32r*:Linux:*:*)
926         echo ${UNAME_MACHINE}-unknown-linux-gnu
927         exit ;;
928     m68*:Linux:*:*)
929         echo ${UNAME_MACHINE}-unknown-linux-gnu
930         exit ;;
931     mips:Linux:*:* | mips64:Linux:*:*)
932         eval $set_cc_for_build
933         sed 's/^        //' << EOF >$dummy.c
934         #undef CPU
935         #undef ${UNAME_MACHINE}
936         #undef ${UNAME_MACHINE}el
937         #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
938         CPU=${UNAME_MACHINE}el
939         #else
940         #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
941         CPU=${UNAME_MACHINE}
942         #else
943         CPU=
944         #endif
945         #endif
946 EOF
947         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
948         test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
949         ;;
950     or32:Linux:*:*)
951         echo ${UNAME_MACHINE}-unknown-linux-gnu
952         exit ;;
953     padre:Linux:*:*)
954         echo sparc-unknown-linux-gnu
955         exit ;;
956     parisc64:Linux:*:* | hppa64:Linux:*:*)
957         echo hppa64-unknown-linux-gnu
958         exit ;;
959     parisc:Linux:*:* | hppa:Linux:*:*)
960         # Look for CPU level
961         case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
962           PA7*) echo hppa1.1-unknown-linux-gnu ;;
963           PA8*) echo hppa2.0-unknown-linux-gnu ;;
964           *)    echo hppa-unknown-linux-gnu ;;
965         esac
966         exit ;;
967     ppc64:Linux:*:*)
968         echo powerpc64-unknown-linux-gnu
969         exit ;;
970     ppc:Linux:*:*)
971         echo powerpc-unknown-linux-gnu
972         exit ;;
973     s390:Linux:*:* | s390x:Linux:*:*)
974         echo ${UNAME_MACHINE}-ibm-linux
975         exit ;;
976     sh64*:Linux:*:*)
977         echo ${UNAME_MACHINE}-unknown-linux-gnu
978         exit ;;
979     sh*:Linux:*:*)
980         echo ${UNAME_MACHINE}-unknown-linux-gnu
981         exit ;;
982     sparc:Linux:*:* | sparc64:Linux:*:*)
983         echo ${UNAME_MACHINE}-unknown-linux-gnu
984         exit ;;
985     tile*:Linux:*:*)
986         echo ${UNAME_MACHINE}-unknown-linux-gnu
987         exit ;;
988     vax:Linux:*:*)
989         echo ${UNAME_MACHINE}-dec-linux-gnu
990         exit ;;
991     x86_64:Linux:*:*)
992         echo ${UNAME_MACHINE}-unknown-linux-gnu
993         exit ;;
994     xtensa*:Linux:*:*)
995         echo ${UNAME_MACHINE}-unknown-linux-gnu
996         exit ;;
997     i*86:DYNIX/ptx:4*:*)
998         # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
999         # earlier versions are messed up and put the nodename in both
1000         # sysname and nodename.
1001         echo i386-sequent-sysv4
1002         exit ;;
1003     i*86:UNIX_SV:4.2MP:2.*)
1004         # Unixware is an offshoot of SVR4, but it has its own version
1005         # number series starting with 2...
1006         # I am not positive that other SVR4 systems won't match this,
1007         # I just have to hope.  -- rms.
1008         # Use sysv4.2uw... so that sysv4* matches it.
1009         echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1010         exit ;;
1011     i*86:OS/2:*:*)
1012         # If we were able to find `uname', then EMX Unix compatibility
1013         # is probably installed.
1014         echo ${UNAME_MACHINE}-pc-os2-emx
1015         exit ;;
1016     i*86:XTS-300:*:STOP)
1017         echo ${UNAME_MACHINE}-unknown-stop
1018         exit ;;
1019     i*86:atheos:*:*)
1020         echo ${UNAME_MACHINE}-unknown-atheos
1021         exit ;;
1022     i*86:syllable:*:*)
1023         echo ${UNAME_MACHINE}-pc-syllable
1024         exit ;;
1025     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1026         echo i386-unknown-lynxos${UNAME_RELEASE}
1027         exit ;;
1028     i*86:*DOS:*:*)
1029         echo ${UNAME_MACHINE}-pc-msdosdjgpp
1030         exit ;;
1031     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1032         UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1033         if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1034                 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1035         else
1036                 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1037         fi
1038         exit ;;
1039     i*86:*:5:[678]*)
1040         # UnixWare 7.x, OpenUNIX and OpenServer 6.
1041         case `/bin/uname -X | grep "^Machine"` in
1042             *486*)           UNAME_MACHINE=i486 ;;
1043             *Pentium)        UNAME_MACHINE=i586 ;;
1044             *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1045         esac
1046         echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1047         exit ;;
1048     i*86:*:3.2:*)
1049         if test -f /usr/options/cb.name; then
1050                 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1051                 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1052         elif /bin/uname -X 2>/dev/null >/dev/null ; then
1053                 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1054                 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1055                 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1056                         && UNAME_MACHINE=i586
1057                 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1058                         && UNAME_MACHINE=i686
1059                 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1060                         && UNAME_MACHINE=i686
1061                 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1062         else
1063                 echo ${UNAME_MACHINE}-pc-sysv32
1064         fi
1065         exit ;;
1066     pc:*:*:*)
1067         # Left here for compatibility:
1068         # uname -m prints for DJGPP always 'pc', but it prints nothing about
1069         # the processor, so we play safe by assuming i586.
1070         # Note: whatever this is, it MUST be the same as what config.sub
1071         # prints for the "djgpp" host, or else GDB configury will decide that
1072         # this is a cross-build.
1073         echo i586-pc-msdosdjgpp
1074         exit ;;
1075     Intel:Mach:3*:*)
1076         echo i386-pc-mach3
1077         exit ;;
1078     paragon:*:*:*)
1079         echo i860-intel-osf1
1080         exit ;;
1081     i860:*:4.*:*) # i860-SVR4
1082         if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1083           echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1084         else # Add other i860-SVR4 vendors below as they are discovered.
1085           echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1086         fi
1087         exit ;;
1088     mini*:CTIX:SYS*5:*)
1089         # "miniframe"
1090         echo m68010-convergent-sysv
1091         exit ;;
1092     mc68k:UNIX:SYSTEM5:3.51m)
1093         echo m68k-convergent-sysv
1094         exit ;;
1095     M680?0:D-NIX:5.3:*)
1096         echo m68k-diab-dnix
1097         exit ;;
1098     M68*:*:R3V[5678]*:*)
1099         test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1100     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)
1101         OS_REL=''
1102         test -r /etc/.relid \
1103         && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1104         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1105           && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1106         /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1107           && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1108     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1109         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1110           && { echo i486-ncr-sysv4; exit; } ;;
1111     NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1112         OS_REL='.3'
1113         test -r /etc/.relid \
1114             && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1115         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1116             && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1117         /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1118             && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1119         /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1120             && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1121     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1122         echo m68k-unknown-lynxos${UNAME_RELEASE}
1123         exit ;;
1124     mc68030:UNIX_System_V:4.*:*)
1125         echo m68k-atari-sysv4
1126         exit ;;
1127     TSUNAMI:LynxOS:2.*:*)
1128         echo sparc-unknown-lynxos${UNAME_RELEASE}
1129         exit ;;
1130     rs6000:LynxOS:2.*:*)
1131         echo rs6000-unknown-lynxos${UNAME_RELEASE}
1132         exit ;;
1133     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1134         echo powerpc-unknown-lynxos${UNAME_RELEASE}
1135         exit ;;
1136     SM[BE]S:UNIX_SV:*:*)
1137         echo mips-dde-sysv${UNAME_RELEASE}
1138         exit ;;
1139     RM*:ReliantUNIX-*:*:*)
1140         echo mips-sni-sysv4
1141         exit ;;
1142     RM*:SINIX-*:*:*)
1143         echo mips-sni-sysv4
1144         exit ;;
1145     *:SINIX-*:*:*)
1146         if uname -p 2>/dev/null >/dev/null ; then
1147                 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1148                 echo ${UNAME_MACHINE}-sni-sysv4
1149         else
1150                 echo ns32k-sni-sysv
1151         fi
1152         exit ;;
1153     PENTIUM:*:4.0*:*)   # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1154                         # says <Richard.M.Bartel@ccMail.Census.GOV>
1155         echo i586-unisys-sysv4
1156         exit ;;
1157     *:UNIX_System_V:4*:FTX*)
1158         # From Gerald Hewes <hewes@openmarket.com>.
1159         # How about differentiating between stratus architectures? -djm
1160         echo hppa1.1-stratus-sysv4
1161         exit ;;
1162     *:*:*:FTX*)
1163         # From seanf@swdc.stratus.com.
1164         echo i860-stratus-sysv4
1165         exit ;;
1166     i*86:VOS:*:*)
1167         # From Paul.Green@stratus.com.
1168         echo ${UNAME_MACHINE}-stratus-vos
1169         exit ;;
1170     *:VOS:*:*)
1171         # From Paul.Green@stratus.com.
1172         echo hppa1.1-stratus-vos
1173         exit ;;
1174     mc68*:A/UX:*:*)
1175         echo m68k-apple-aux${UNAME_RELEASE}
1176         exit ;;
1177     news*:NEWS-OS:6*:*)
1178         echo mips-sony-newsos6
1179         exit ;;
1180     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1181         if [ -d /usr/nec ]; then
1182                 echo mips-nec-sysv${UNAME_RELEASE}
1183         else
1184                 echo mips-unknown-sysv${UNAME_RELEASE}
1185         fi
1186         exit ;;
1187     BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
1188         echo powerpc-be-beos
1189         exit ;;
1190     BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
1191         echo powerpc-apple-beos
1192         exit ;;
1193     BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
1194         echo i586-pc-beos
1195         exit ;;
1196     BePC:Haiku:*:*)     # Haiku running on Intel PC compatible.
1197         echo i586-pc-haiku
1198         exit ;;
1199     SX-4:SUPER-UX:*:*)
1200         echo sx4-nec-superux${UNAME_RELEASE}
1201         exit ;;
1202     SX-5:SUPER-UX:*:*)
1203         echo sx5-nec-superux${UNAME_RELEASE}
1204         exit ;;
1205     SX-6:SUPER-UX:*:*)
1206         echo sx6-nec-superux${UNAME_RELEASE}
1207         exit ;;
1208     SX-7:SUPER-UX:*:*)
1209         echo sx7-nec-superux${UNAME_RELEASE}
1210         exit ;;
1211     SX-8:SUPER-UX:*:*)
1212         echo sx8-nec-superux${UNAME_RELEASE}
1213         exit ;;
1214     SX-8R:SUPER-UX:*:*)
1215         echo sx8r-nec-superux${UNAME_RELEASE}
1216         exit ;;
1217     Power*:Rhapsody:*:*)
1218         echo powerpc-apple-rhapsody${UNAME_RELEASE}
1219         exit ;;
1220     *:Rhapsody:*:*)
1221         echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1222         exit ;;
1223     *:Darwin:*:*)
1224         UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1225         case $UNAME_PROCESSOR in
1226             i386)
1227                 eval $set_cc_for_build
1228                 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1229                   if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1230                       (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1231                       grep IS_64BIT_ARCH >/dev/null
1232                   then
1233                       UNAME_PROCESSOR="x86_64"
1234                   fi
1235                 fi ;;
1236             unknown) UNAME_PROCESSOR=powerpc ;;
1237         esac
1238         echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1239         exit ;;
1240     *:procnto*:*:* | *:QNX:[0123456789]*:*)
1241         UNAME_PROCESSOR=`uname -p`
1242         if test "$UNAME_PROCESSOR" = "x86"; then
1243                 UNAME_PROCESSOR=i386
1244                 UNAME_MACHINE=pc
1245         fi
1246         echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1247         exit ;;
1248     *:QNX:*:4*)
1249         echo i386-pc-qnx
1250         exit ;;
1251     NEO-?:NONSTOP_KERNEL:*:*)
1252         echo neo-tandem-nsk${UNAME_RELEASE}
1253         exit ;;
1254     NSE-?:NONSTOP_KERNEL:*:*)
1255         echo nse-tandem-nsk${UNAME_RELEASE}
1256         exit ;;
1257     NSR-?:NONSTOP_KERNEL:*:*)
1258         echo nsr-tandem-nsk${UNAME_RELEASE}
1259         exit ;;
1260     *:NonStop-UX:*:*)
1261         echo mips-compaq-nonstopux
1262         exit ;;
1263     BS2000:POSIX*:*:*)
1264         echo bs2000-siemens-sysv
1265         exit ;;
1266     DS/*:UNIX_System_V:*:*)
1267         echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1268         exit ;;
1269     *:Plan9:*:*)
1270         # "uname -m" is not consistent, so use $cputype instead. 386
1271         # is converted to i386 for consistency with other x86
1272         # operating systems.
1273         if test "$cputype" = "386"; then
1274             UNAME_MACHINE=i386
1275         else
1276             UNAME_MACHINE="$cputype"
1277         fi
1278         echo ${UNAME_MACHINE}-unknown-plan9
1279         exit ;;
1280     *:TOPS-10:*:*)
1281         echo pdp10-unknown-tops10
1282         exit ;;
1283     *:TENEX:*:*)
1284         echo pdp10-unknown-tenex
1285         exit ;;
1286     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1287         echo pdp10-dec-tops20
1288         exit ;;
1289     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1290         echo pdp10-xkl-tops20
1291         exit ;;
1292     *:TOPS-20:*:*)
1293         echo pdp10-unknown-tops20
1294         exit ;;
1295     *:ITS:*:*)
1296         echo pdp10-unknown-its
1297         exit ;;
1298     SEI:*:*:SEIUX)
1299         echo mips-sei-seiux${UNAME_RELEASE}
1300         exit ;;
1301     *:DragonFly:*:*)
1302         echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1303         exit ;;
1304     *:*VMS:*:*)
1305         UNAME_MACHINE=`(uname -p) 2>/dev/null`
1306         case "${UNAME_MACHINE}" in
1307             A*) echo alpha-dec-vms ; exit ;;
1308             I*) echo ia64-dec-vms ; exit ;;
1309             V*) echo vax-dec-vms ; exit ;;
1310         esac ;;
1311     *:XENIX:*:SysV)
1312         echo i386-pc-xenix
1313         exit ;;
1314     i*86:skyos:*:*)
1315         echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1316         exit ;;
1317     i*86:rdos:*:*)
1318         echo ${UNAME_MACHINE}-pc-rdos
1319         exit ;;
1320     i*86:AROS:*:*)
1321         echo ${UNAME_MACHINE}-pc-aros
1322         exit ;;
1323 esac
1324
1325 #echo '(No uname command or uname output not recognized.)' 1>&2
1326 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1327
1328 eval $set_cc_for_build
1329 cat >$dummy.c <<EOF
1330 #ifdef _SEQUENT_
1331 # include <sys/types.h>
1332 # include <sys/utsname.h>
1333 #endif
1334 main ()
1335 {
1336 #if defined (sony)
1337 #if defined (MIPSEB)
1338   /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1339      I don't know....  */
1340   printf ("mips-sony-bsd\n"); exit (0);
1341 #else
1342 #include <sys/param.h>
1343   printf ("m68k-sony-newsos%s\n",
1344 #ifdef NEWSOS4
1345         "4"
1346 #else
1347         ""
1348 #endif
1349         ); exit (0);
1350 #endif
1351 #endif
1352
1353 #if defined (__arm) && defined (__acorn) && defined (__unix)
1354   printf ("arm-acorn-riscix\n"); exit (0);
1355 #endif
1356
1357 #if defined (hp300) && !defined (hpux)
1358   printf ("m68k-hp-bsd\n"); exit (0);
1359 #endif
1360
1361 #if defined (NeXT)
1362 #if !defined (__ARCHITECTURE__)
1363 #define __ARCHITECTURE__ "m68k"
1364 #endif
1365   int version;
1366   version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1367   if (version < 4)
1368     printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1369   else
1370     printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1371   exit (0);
1372 #endif
1373
1374 #if defined (MULTIMAX) || defined (n16)
1375 #if defined (UMAXV)
1376   printf ("ns32k-encore-sysv\n"); exit (0);
1377 #else
1378 #if defined (CMU)
1379   printf ("ns32k-encore-mach\n"); exit (0);
1380 #else
1381   printf ("ns32k-encore-bsd\n"); exit (0);
1382 #endif
1383 #endif
1384 #endif
1385
1386 #if defined (__386BSD__)
1387   printf ("i386-pc-bsd\n"); exit (0);
1388 #endif
1389
1390 #if defined (sequent)
1391 #if defined (i386)
1392   printf ("i386-sequent-dynix\n"); exit (0);
1393 #endif
1394 #if defined (ns32000)
1395   printf ("ns32k-sequent-dynix\n"); exit (0);
1396 #endif
1397 #endif
1398
1399 #if defined (_SEQUENT_)
1400     struct utsname un;
1401
1402     uname(&un);
1403
1404     if (strncmp(un.version, "V2", 2) == 0) {
1405         printf ("i386-sequent-ptx2\n"); exit (0);
1406     }
1407     if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1408         printf ("i386-sequent-ptx1\n"); exit (0);
1409     }
1410     printf ("i386-sequent-ptx\n"); exit (0);
1411
1412 #endif
1413
1414 #if defined (vax)
1415 # if !defined (ultrix)
1416 #  include <sys/param.h>
1417 #  if defined (BSD)
1418 #   if BSD == 43
1419       printf ("vax-dec-bsd4.3\n"); exit (0);
1420 #   else
1421 #    if BSD == 199006
1422       printf ("vax-dec-bsd4.3reno\n"); exit (0);
1423 #    else
1424       printf ("vax-dec-bsd\n"); exit (0);
1425 #    endif
1426 #   endif
1427 #  else
1428     printf ("vax-dec-bsd\n"); exit (0);
1429 #  endif
1430 # else
1431     printf ("vax-dec-ultrix\n"); exit (0);
1432 # endif
1433 #endif
1434
1435 #if defined (alliant) && defined (i860)
1436   printf ("i860-alliant-bsd\n"); exit (0);
1437 #endif
1438
1439   exit (1);
1440 }
1441 EOF
1442
1443 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1444         { echo "$SYSTEM_NAME"; exit; }
1445
1446 # Apollos put the system type in the environment.
1447
1448 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1449
1450 # Convex versions that predate uname can use getsysinfo(1)
1451
1452 if [ -x /usr/convex/getsysinfo ]
1453 then
1454     case `getsysinfo -f cpu_type` in
1455     c1*)
1456         echo c1-convex-bsd
1457         exit ;;
1458     c2*)
1459         if getsysinfo -f scalar_acc
1460         then echo c32-convex-bsd
1461         else echo c2-convex-bsd
1462         fi
1463         exit ;;
1464     c34*)
1465         echo c34-convex-bsd
1466         exit ;;
1467     c38*)
1468         echo c38-convex-bsd
1469         exit ;;
1470     c4*)
1471         echo c4-convex-bsd
1472         exit ;;
1473     esac
1474 fi
1475
1476 cat >&2 <<EOF
1477 $0: unable to guess system type
1478
1479 This script, last modified $timestamp, has failed to recognize
1480 the operating system you are using. It is advised that you
1481 download the most up to date version of the config scripts from
1482
1483   http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1484 and
1485   http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1486
1487 If the version you run ($0) is already up to date, please
1488 send the following data and any information you think might be
1489 pertinent to <config-patches@gnu.org> in order to provide the needed
1490 information to handle your system.
1491
1492 config.guess timestamp = $timestamp
1493
1494 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1495 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1496 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1497 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1498
1499 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1500 /bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1501
1502 hostinfo               = `(hostinfo) 2>/dev/null`
1503 /bin/universe          = `(/bin/universe) 2>/dev/null`
1504 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1505 /bin/arch              = `(/bin/arch) 2>/dev/null`
1506 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1507 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1508
1509 UNAME_MACHINE = ${UNAME_MACHINE}
1510 UNAME_RELEASE = ${UNAME_RELEASE}
1511 UNAME_SYSTEM  = ${UNAME_SYSTEM}
1512 UNAME_VERSION = ${UNAME_VERSION}
1513 EOF
1514
1515 exit 1
1516
1517 # Local variables:
1518 # eval: (add-hook 'write-file-hooks 'time-stamp)
1519 # time-stamp-start: "timestamp='"
1520 # time-stamp-format: "%:y-%02m-%02d"
1521 # time-stamp-end: "'"
1522 # End: