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