Imported Upstream version 0.2.2
[platform/upstream/libtirpc.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
5 #   Free Software Foundation, Inc.
6
7 timestamp='2009-11-20'
8
9 # This file is free software; you can redistribute it and/or modify it
10 # under the terms of the GNU General Public License as published by
11 # the Free Software Foundation; either version 2 of the License, or
12 # (at your option) any later version.
13 #
14 # This program is distributed in the hope that it will be useful, but
15 # WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17 # General Public License for more details.
18 #
19 # You should have received a copy of the GNU General Public License
20 # along with this program; if not, write to the Free Software
21 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
22 # 02110-1301, USA.
23 #
24 # As a special exception to the GNU General Public License, if you
25 # distribute this file as part of a program that contains a
26 # configuration script generated by Autoconf, you may include it under
27 # the same distribution terms that you use for the rest of that program.
28
29
30 # Originally written by Per Bothner.  Please send patches (context
31 # diff format) to <config-patches@gnu.org> and include a ChangeLog
32 # entry.
33 #
34 # This script attempts to guess a canonical system name similar to
35 # config.sub.  If it succeeds, it prints the system name on stdout, and
36 # exits with 0.  Otherwise, it exits with 1.
37 #
38 # You can get the latest version of this script from:
39 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
40
41 me=`echo "$0" | sed -e 's,.*/,,'`
42
43 usage="\
44 Usage: $0 [OPTION]
45
46 Output the configuration name of the system \`$me' is run on.
47
48 Operation modes:
49   -h, --help         print this help, then exit
50   -t, --time-stamp   print date of last modification, then exit
51   -v, --version      print version number, then exit
52
53 Report bugs and patches to <config-patches@gnu.org>."
54
55 version="\
56 GNU config.guess ($timestamp)
57
58 Originally written by Per Bothner.
59 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 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         echo i386-pc-auroraux${UNAME_RELEASE}
338         exit ;;
339     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
340         eval $set_cc_for_build
341         SUN_ARCH="i386"
342         # If there is a compiler, see if it is configured for 64-bit objects.
343         # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
344         # This test works for both compilers.
345         if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
346             if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
347                 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
348                 grep IS_64BIT_ARCH >/dev/null
349             then
350                 SUN_ARCH="x86_64"
351             fi
352         fi
353         echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
354         exit ;;
355     sun4*:SunOS:6*:*)
356         # According to config.sub, this is the proper way to canonicalize
357         # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
358         # it's likely to be more like Solaris than SunOS4.
359         echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
360         exit ;;
361     sun4*:SunOS:*:*)
362         case "`/usr/bin/arch -k`" in
363             Series*|S4*)
364                 UNAME_RELEASE=`uname -v`
365                 ;;
366         esac
367         # Japanese Language versions have a version number like `4.1.3-JL'.
368         echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
369         exit ;;
370     sun3*:SunOS:*:*)
371         echo m68k-sun-sunos${UNAME_RELEASE}
372         exit ;;
373     sun*:*:4.2BSD:*)
374         UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
375         test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
376         case "`/bin/arch`" in
377             sun3)
378                 echo m68k-sun-sunos${UNAME_RELEASE}
379                 ;;
380             sun4)
381                 echo sparc-sun-sunos${UNAME_RELEASE}
382                 ;;
383         esac
384         exit ;;
385     aushp:SunOS:*:*)
386         echo sparc-auspex-sunos${UNAME_RELEASE}
387         exit ;;
388     # The situation for MiNT is a little confusing.  The machine name
389     # can be virtually everything (everything which is not
390     # "atarist" or "atariste" at least should have a processor
391     # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
392     # to the lowercase version "mint" (or "freemint").  Finally
393     # the system name "TOS" denotes a system which is actually not
394     # MiNT.  But MiNT is downward compatible to TOS, so this should
395     # be no problem.
396     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
397         echo m68k-atari-mint${UNAME_RELEASE}
398         exit ;;
399     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
400         echo m68k-atari-mint${UNAME_RELEASE}
401         exit ;;
402     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
403         echo m68k-atari-mint${UNAME_RELEASE}
404         exit ;;
405     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
406         echo m68k-milan-mint${UNAME_RELEASE}
407         exit ;;
408     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
409         echo m68k-hades-mint${UNAME_RELEASE}
410         exit ;;
411     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
412         echo m68k-unknown-mint${UNAME_RELEASE}
413         exit ;;
414     m68k:machten:*:*)
415         echo m68k-apple-machten${UNAME_RELEASE}
416         exit ;;
417     powerpc:machten:*:*)
418         echo powerpc-apple-machten${UNAME_RELEASE}
419         exit ;;
420     RISC*:Mach:*:*)
421         echo mips-dec-mach_bsd4.3
422         exit ;;
423     RISC*:ULTRIX:*:*)
424         echo mips-dec-ultrix${UNAME_RELEASE}
425         exit ;;
426     VAX*:ULTRIX*:*:*)
427         echo vax-dec-ultrix${UNAME_RELEASE}
428         exit ;;
429     2020:CLIX:*:* | 2430:CLIX:*:*)
430         echo clipper-intergraph-clix${UNAME_RELEASE}
431         exit ;;
432     mips:*:*:UMIPS | mips:*:*:RISCos)
433         eval $set_cc_for_build
434         sed 's/^        //' << EOF >$dummy.c
435 #ifdef __cplusplus
436 #include <stdio.h>  /* for printf() prototype */
437         int main (int argc, char *argv[]) {
438 #else
439         int main (argc, argv) int argc; char *argv[]; {
440 #endif
441         #if defined (host_mips) && defined (MIPSEB)
442         #if defined (SYSTYPE_SYSV)
443           printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
444         #endif
445         #if defined (SYSTYPE_SVR4)
446           printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
447         #endif
448         #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
449           printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
450         #endif
451         #endif
452           exit (-1);
453         }
454 EOF
455         $CC_FOR_BUILD -o $dummy $dummy.c &&
456           dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
457           SYSTEM_NAME=`$dummy $dummyarg` &&
458             { echo "$SYSTEM_NAME"; exit; }
459         echo mips-mips-riscos${UNAME_RELEASE}
460         exit ;;
461     Motorola:PowerMAX_OS:*:*)
462         echo powerpc-motorola-powermax
463         exit ;;
464     Motorola:*:4.3:PL8-*)
465         echo powerpc-harris-powermax
466         exit ;;
467     Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
468         echo powerpc-harris-powermax
469         exit ;;
470     Night_Hawk:Power_UNIX:*:*)
471         echo powerpc-harris-powerunix
472         exit ;;
473     m88k:CX/UX:7*:*)
474         echo m88k-harris-cxux7
475         exit ;;
476     m88k:*:4*:R4*)
477         echo m88k-motorola-sysv4
478         exit ;;
479     m88k:*:3*:R3*)
480         echo m88k-motorola-sysv3
481         exit ;;
482     AViiON:dgux:*:*)
483         # DG/UX returns AViiON for all architectures
484         UNAME_PROCESSOR=`/usr/bin/uname -p`
485         if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
486         then
487             if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
488                [ ${TARGET_BINARY_INTERFACE}x = x ]
489             then
490                 echo m88k-dg-dgux${UNAME_RELEASE}
491             else
492                 echo m88k-dg-dguxbcs${UNAME_RELEASE}
493             fi
494         else
495             echo i586-dg-dgux${UNAME_RELEASE}
496         fi
497         exit ;;
498     M88*:DolphinOS:*:*) # DolphinOS (SVR3)
499         echo m88k-dolphin-sysv3
500         exit ;;
501     M88*:*:R3*:*)
502         # Delta 88k system running SVR3
503         echo m88k-motorola-sysv3
504         exit ;;
505     XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
506         echo m88k-tektronix-sysv3
507         exit ;;
508     Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
509         echo m68k-tektronix-bsd
510         exit ;;
511     *:IRIX*:*:*)
512         echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
513         exit ;;
514     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
515         echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
516         exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
517     i*86:AIX:*:*)
518         echo i386-ibm-aix
519         exit ;;
520     ia64:AIX:*:*)
521         if [ -x /usr/bin/oslevel ] ; then
522                 IBM_REV=`/usr/bin/oslevel`
523         else
524                 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
525         fi
526         echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
527         exit ;;
528     *:AIX:2:3)
529         if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
530                 eval $set_cc_for_build
531                 sed 's/^                //' << EOF >$dummy.c
532                 #include <sys/systemcfg.h>
533
534                 main()
535                         {
536                         if (!__power_pc())
537                                 exit(1);
538                         puts("powerpc-ibm-aix3.2.5");
539                         exit(0);
540                         }
541 EOF
542                 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
543                 then
544                         echo "$SYSTEM_NAME"
545                 else
546                         echo rs6000-ibm-aix3.2.5
547                 fi
548         elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
549                 echo rs6000-ibm-aix3.2.4
550         else
551                 echo rs6000-ibm-aix3.2
552         fi
553         exit ;;
554     *:AIX:*:[456])
555         IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
556         if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
557                 IBM_ARCH=rs6000
558         else
559                 IBM_ARCH=powerpc
560         fi
561         if [ -x /usr/bin/oslevel ] ; then
562                 IBM_REV=`/usr/bin/oslevel`
563         else
564                 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
565         fi
566         echo ${IBM_ARCH}-ibm-aix${IBM_REV}
567         exit ;;
568     *:AIX:*:*)
569         echo rs6000-ibm-aix
570         exit ;;
571     ibmrt:4.4BSD:*|romp-ibm:BSD:*)
572         echo romp-ibm-bsd4.4
573         exit ;;
574     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
575         echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
576         exit ;;                             # report: romp-ibm BSD 4.3
577     *:BOSX:*:*)
578         echo rs6000-bull-bosx
579         exit ;;
580     DPX/2?00:B.O.S.:*:*)
581         echo m68k-bull-sysv3
582         exit ;;
583     9000/[34]??:4.3bsd:1.*:*)
584         echo m68k-hp-bsd
585         exit ;;
586     hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
587         echo m68k-hp-bsd4.4
588         exit ;;
589     9000/[34678]??:HP-UX:*:*)
590         HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
591         case "${UNAME_MACHINE}" in
592             9000/31? )            HP_ARCH=m68000 ;;
593             9000/[34]?? )         HP_ARCH=m68k ;;
594             9000/[678][0-9][0-9])
595                 if [ -x /usr/bin/getconf ]; then
596                     sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
597                     sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
598                     case "${sc_cpu_version}" in
599                       523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
600                       528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
601                       532)                      # CPU_PA_RISC2_0
602                         case "${sc_kernel_bits}" in
603                           32) HP_ARCH="hppa2.0n" ;;
604                           64) HP_ARCH="hppa2.0w" ;;
605                           '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
606                         esac ;;
607                     esac
608                 fi
609                 if [ "${HP_ARCH}" = "" ]; then
610                     eval $set_cc_for_build
611                     sed 's/^              //' << EOF >$dummy.c
612
613               #define _HPUX_SOURCE
614               #include <stdlib.h>
615               #include <unistd.h>
616
617               int main ()
618               {
619               #if defined(_SC_KERNEL_BITS)
620                   long bits = sysconf(_SC_KERNEL_BITS);
621               #endif
622                   long cpu  = sysconf (_SC_CPU_VERSION);
623
624                   switch (cpu)
625                 {
626                 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
627                 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
628                 case CPU_PA_RISC2_0:
629               #if defined(_SC_KERNEL_BITS)
630                     switch (bits)
631                         {
632                         case 64: puts ("hppa2.0w"); break;
633                         case 32: puts ("hppa2.0n"); break;
634                         default: puts ("hppa2.0"); break;
635                         } break;
636               #else  /* !defined(_SC_KERNEL_BITS) */
637                     puts ("hppa2.0"); break;
638               #endif
639                 default: puts ("hppa1.0"); break;
640                 }
641                   exit (0);
642               }
643 EOF
644                     (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
645                     test -z "$HP_ARCH" && HP_ARCH=hppa
646                 fi ;;
647         esac
648         if [ ${HP_ARCH} = "hppa2.0w" ]
649         then
650             eval $set_cc_for_build
651
652             # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
653             # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
654             # generating 64-bit code.  GNU and HP use different nomenclature:
655             #
656             # $ CC_FOR_BUILD=cc ./config.guess
657             # => hppa2.0w-hp-hpux11.23
658             # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
659             # => hppa64-hp-hpux11.23
660
661             if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
662                 grep -q __LP64__
663             then
664                 HP_ARCH="hppa2.0w"
665             else
666                 HP_ARCH="hppa64"
667             fi
668         fi
669         echo ${HP_ARCH}-hp-hpux${HPUX_REV}
670         exit ;;
671     ia64:HP-UX:*:*)
672         HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
673         echo ia64-hp-hpux${HPUX_REV}
674         exit ;;
675     3050*:HI-UX:*:*)
676         eval $set_cc_for_build
677         sed 's/^        //' << EOF >$dummy.c
678         #include <unistd.h>
679         int
680         main ()
681         {
682           long cpu = sysconf (_SC_CPU_VERSION);
683           /* The order matters, because CPU_IS_HP_MC68K erroneously returns
684              true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
685              results, however.  */
686           if (CPU_IS_PA_RISC (cpu))
687             {
688               switch (cpu)
689                 {
690                   case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
691                   case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
692                   case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
693                   default: puts ("hppa-hitachi-hiuxwe2"); break;
694                 }
695             }
696           else if (CPU_IS_HP_MC68K (cpu))
697             puts ("m68k-hitachi-hiuxwe2");
698           else puts ("unknown-hitachi-hiuxwe2");
699           exit (0);
700         }
701 EOF
702         $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
703                 { echo "$SYSTEM_NAME"; exit; }
704         echo unknown-hitachi-hiuxwe2
705         exit ;;
706     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
707         echo hppa1.1-hp-bsd
708         exit ;;
709     9000/8??:4.3bsd:*:*)
710         echo hppa1.0-hp-bsd
711         exit ;;
712     *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
713         echo hppa1.0-hp-mpeix
714         exit ;;
715     hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
716         echo hppa1.1-hp-osf
717         exit ;;
718     hp8??:OSF1:*:*)
719         echo hppa1.0-hp-osf
720         exit ;;
721     i*86:OSF1:*:*)
722         if [ -x /usr/sbin/sysversion ] ; then
723             echo ${UNAME_MACHINE}-unknown-osf1mk
724         else
725             echo ${UNAME_MACHINE}-unknown-osf1
726         fi
727         exit ;;
728     parisc*:Lites*:*:*)
729         echo hppa1.1-hp-lites
730         exit ;;
731     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
732         echo c1-convex-bsd
733         exit ;;
734     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
735         if getsysinfo -f scalar_acc
736         then echo c32-convex-bsd
737         else echo c2-convex-bsd
738         fi
739         exit ;;
740     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
741         echo c34-convex-bsd
742         exit ;;
743     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
744         echo c38-convex-bsd
745         exit ;;
746     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
747         echo c4-convex-bsd
748         exit ;;
749     CRAY*Y-MP:*:*:*)
750         echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
751         exit ;;
752     CRAY*[A-Z]90:*:*:*)
753         echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
754         | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
755               -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
756               -e 's/\.[^.]*$/.X/'
757         exit ;;
758     CRAY*TS:*:*:*)
759         echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
760         exit ;;
761     CRAY*T3E:*:*:*)
762         echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
763         exit ;;
764     CRAY*SV1:*:*:*)
765         echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
766         exit ;;
767     *:UNICOS/mp:*:*)
768         echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
769         exit ;;
770     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
771         FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
772         FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
773         FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
774         echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
775         exit ;;
776     5000:UNIX_System_V:4.*:*)
777         FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
778         FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
779         echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
780         exit ;;
781     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
782         echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
783         exit ;;
784     sparc*:BSD/OS:*:*)
785         echo sparc-unknown-bsdi${UNAME_RELEASE}
786         exit ;;
787     *:BSD/OS:*:*)
788         echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
789         exit ;;
790     *:FreeBSD:*:*)
791         case ${UNAME_MACHINE} in
792             pc98)
793                 echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
794             amd64)
795                 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
796             *)
797                 echo ${UNAME_MACHINE}-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*:*)
814         case ${UNAME_MACHINE} in
815             x86)
816                 echo i586-pc-interix${UNAME_RELEASE}
817                 exit ;;
818             authenticamd | genuineintel | EM64T)
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         LIBC=gnu
898         eval $set_cc_for_build
899         sed 's/^        //' << EOF >$dummy.c
900         #ifdef __dietlibc__
901         LIBC=dietlibc
902         #endif
903 EOF
904         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
905         echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
906         exit ;;
907     ia64:Linux:*:*)
908         echo ${UNAME_MACHINE}-unknown-linux-gnu
909         exit ;;
910     m32r*:Linux:*:*)
911         echo ${UNAME_MACHINE}-unknown-linux-gnu
912         exit ;;
913     m68*:Linux:*:*)
914         echo ${UNAME_MACHINE}-unknown-linux-gnu
915         exit ;;
916     mips:Linux:*:* | mips64:Linux:*:*)
917         eval $set_cc_for_build
918         sed 's/^        //' << EOF >$dummy.c
919         #undef CPU
920         #undef ${UNAME_MACHINE}
921         #undef ${UNAME_MACHINE}el
922         #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
923         CPU=${UNAME_MACHINE}el
924         #else
925         #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
926         CPU=${UNAME_MACHINE}
927         #else
928         CPU=
929         #endif
930         #endif
931 EOF
932         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
933         test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
934         ;;
935     or32:Linux:*:*)
936         echo or32-unknown-linux-gnu
937         exit ;;
938     padre:Linux:*:*)
939         echo sparc-unknown-linux-gnu
940         exit ;;
941     parisc64:Linux:*:* | hppa64:Linux:*:*)
942         echo hppa64-unknown-linux-gnu
943         exit ;;
944     parisc:Linux:*:* | hppa:Linux:*:*)
945         # Look for CPU level
946         case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
947           PA7*) echo hppa1.1-unknown-linux-gnu ;;
948           PA8*) echo hppa2.0-unknown-linux-gnu ;;
949           *)    echo hppa-unknown-linux-gnu ;;
950         esac
951         exit ;;
952     ppc64:Linux:*:*)
953         echo powerpc64-unknown-linux-gnu
954         exit ;;
955     ppc:Linux:*:*)
956         echo powerpc-unknown-linux-gnu
957         exit ;;
958     s390:Linux:*:* | s390x:Linux:*:*)
959         echo ${UNAME_MACHINE}-ibm-linux
960         exit ;;
961     sh64*:Linux:*:*)
962         echo ${UNAME_MACHINE}-unknown-linux-gnu
963         exit ;;
964     sh*:Linux:*:*)
965         echo ${UNAME_MACHINE}-unknown-linux-gnu
966         exit ;;
967     sparc:Linux:*:* | sparc64:Linux:*:*)
968         echo ${UNAME_MACHINE}-unknown-linux-gnu
969         exit ;;
970     vax:Linux:*:*)
971         echo ${UNAME_MACHINE}-dec-linux-gnu
972         exit ;;
973     x86_64:Linux:*:*)
974         echo x86_64-unknown-linux-gnu
975         exit ;;
976     xtensa*:Linux:*:*)
977         echo ${UNAME_MACHINE}-unknown-linux-gnu
978         exit ;;
979     i*86:DYNIX/ptx:4*:*)
980         # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
981         # earlier versions are messed up and put the nodename in both
982         # sysname and nodename.
983         echo i386-sequent-sysv4
984         exit ;;
985     i*86:UNIX_SV:4.2MP:2.*)
986         # Unixware is an offshoot of SVR4, but it has its own version
987         # number series starting with 2...
988         # I am not positive that other SVR4 systems won't match this,
989         # I just have to hope.  -- rms.
990         # Use sysv4.2uw... so that sysv4* matches it.
991         echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
992         exit ;;
993     i*86:OS/2:*:*)
994         # If we were able to find `uname', then EMX Unix compatibility
995         # is probably installed.
996         echo ${UNAME_MACHINE}-pc-os2-emx
997         exit ;;
998     i*86:XTS-300:*:STOP)
999         echo ${UNAME_MACHINE}-unknown-stop
1000         exit ;;
1001     i*86:atheos:*:*)
1002         echo ${UNAME_MACHINE}-unknown-atheos
1003         exit ;;
1004     i*86:syllable:*:*)
1005         echo ${UNAME_MACHINE}-pc-syllable
1006         exit ;;
1007     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1008         echo i386-unknown-lynxos${UNAME_RELEASE}
1009         exit ;;
1010     i*86:*DOS:*:*)
1011         echo ${UNAME_MACHINE}-pc-msdosdjgpp
1012         exit ;;
1013     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1014         UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1015         if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1016                 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1017         else
1018                 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1019         fi
1020         exit ;;
1021     i*86:*:5:[678]*)
1022         # UnixWare 7.x, OpenUNIX and OpenServer 6.
1023         case `/bin/uname -X | grep "^Machine"` in
1024             *486*)           UNAME_MACHINE=i486 ;;
1025             *Pentium)        UNAME_MACHINE=i586 ;;
1026             *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1027         esac
1028         echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1029         exit ;;
1030     i*86:*:3.2:*)
1031         if test -f /usr/options/cb.name; then
1032                 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1033                 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1034         elif /bin/uname -X 2>/dev/null >/dev/null ; then
1035                 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1036                 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1037                 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1038                         && UNAME_MACHINE=i586
1039                 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1040                         && UNAME_MACHINE=i686
1041                 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1042                         && UNAME_MACHINE=i686
1043                 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1044         else
1045                 echo ${UNAME_MACHINE}-pc-sysv32
1046         fi
1047         exit ;;
1048     pc:*:*:*)
1049         # Left here for compatibility:
1050         # uname -m prints for DJGPP always 'pc', but it prints nothing about
1051         # the processor, so we play safe by assuming i586.
1052         # Note: whatever this is, it MUST be the same as what config.sub
1053         # prints for the "djgpp" host, or else GDB configury will decide that
1054         # this is a cross-build.
1055         echo i586-pc-msdosdjgpp
1056         exit ;;
1057     Intel:Mach:3*:*)
1058         echo i386-pc-mach3
1059         exit ;;
1060     paragon:*:*:*)
1061         echo i860-intel-osf1
1062         exit ;;
1063     i860:*:4.*:*) # i860-SVR4
1064         if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1065           echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1066         else # Add other i860-SVR4 vendors below as they are discovered.
1067           echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1068         fi
1069         exit ;;
1070     mini*:CTIX:SYS*5:*)
1071         # "miniframe"
1072         echo m68010-convergent-sysv
1073         exit ;;
1074     mc68k:UNIX:SYSTEM5:3.51m)
1075         echo m68k-convergent-sysv
1076         exit ;;
1077     M680?0:D-NIX:5.3:*)
1078         echo m68k-diab-dnix
1079         exit ;;
1080     M68*:*:R3V[5678]*:*)
1081         test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1082     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)
1083         OS_REL=''
1084         test -r /etc/.relid \
1085         && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1086         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1087           && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1088         /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1089           && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1090     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1091         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1092           && { echo i486-ncr-sysv4; exit; } ;;
1093     NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1094         OS_REL='.3'
1095         test -r /etc/.relid \
1096             && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1097         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1098             && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1099         /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1100             && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1101         /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1102             && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1103     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1104         echo m68k-unknown-lynxos${UNAME_RELEASE}
1105         exit ;;
1106     mc68030:UNIX_System_V:4.*:*)
1107         echo m68k-atari-sysv4
1108         exit ;;
1109     TSUNAMI:LynxOS:2.*:*)
1110         echo sparc-unknown-lynxos${UNAME_RELEASE}
1111         exit ;;
1112     rs6000:LynxOS:2.*:*)
1113         echo rs6000-unknown-lynxos${UNAME_RELEASE}
1114         exit ;;
1115     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1116         echo powerpc-unknown-lynxos${UNAME_RELEASE}
1117         exit ;;
1118     SM[BE]S:UNIX_SV:*:*)
1119         echo mips-dde-sysv${UNAME_RELEASE}
1120         exit ;;
1121     RM*:ReliantUNIX-*:*:*)
1122         echo mips-sni-sysv4
1123         exit ;;
1124     RM*:SINIX-*:*:*)
1125         echo mips-sni-sysv4
1126         exit ;;
1127     *:SINIX-*:*:*)
1128         if uname -p 2>/dev/null >/dev/null ; then
1129                 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1130                 echo ${UNAME_MACHINE}-sni-sysv4
1131         else
1132                 echo ns32k-sni-sysv
1133         fi
1134         exit ;;
1135     PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1136                       # says <Richard.M.Bartel@ccMail.Census.GOV>
1137         echo i586-unisys-sysv4
1138         exit ;;
1139     *:UNIX_System_V:4*:FTX*)
1140         # From Gerald Hewes <hewes@openmarket.com>.
1141         # How about differentiating between stratus architectures? -djm
1142         echo hppa1.1-stratus-sysv4
1143         exit ;;
1144     *:*:*:FTX*)
1145         # From seanf@swdc.stratus.com.
1146         echo i860-stratus-sysv4
1147         exit ;;
1148     i*86:VOS:*:*)
1149         # From Paul.Green@stratus.com.
1150         echo ${UNAME_MACHINE}-stratus-vos
1151         exit ;;
1152     *:VOS:*:*)
1153         # From Paul.Green@stratus.com.
1154         echo hppa1.1-stratus-vos
1155         exit ;;
1156     mc68*:A/UX:*:*)
1157         echo m68k-apple-aux${UNAME_RELEASE}
1158         exit ;;
1159     news*:NEWS-OS:6*:*)
1160         echo mips-sony-newsos6
1161         exit ;;
1162     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1163         if [ -d /usr/nec ]; then
1164                 echo mips-nec-sysv${UNAME_RELEASE}
1165         else
1166                 echo mips-unknown-sysv${UNAME_RELEASE}
1167         fi
1168         exit ;;
1169     BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
1170         echo powerpc-be-beos
1171         exit ;;
1172     BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
1173         echo powerpc-apple-beos
1174         exit ;;
1175     BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
1176         echo i586-pc-beos
1177         exit ;;
1178     BePC:Haiku:*:*)     # Haiku running on Intel PC compatible.
1179         echo i586-pc-haiku
1180         exit ;;
1181     SX-4:SUPER-UX:*:*)
1182         echo sx4-nec-superux${UNAME_RELEASE}
1183         exit ;;
1184     SX-5:SUPER-UX:*:*)
1185         echo sx5-nec-superux${UNAME_RELEASE}
1186         exit ;;
1187     SX-6:SUPER-UX:*:*)
1188         echo sx6-nec-superux${UNAME_RELEASE}
1189         exit ;;
1190     SX-7:SUPER-UX:*:*)
1191         echo sx7-nec-superux${UNAME_RELEASE}
1192         exit ;;
1193     SX-8:SUPER-UX:*:*)
1194         echo sx8-nec-superux${UNAME_RELEASE}
1195         exit ;;
1196     SX-8R:SUPER-UX:*:*)
1197         echo sx8r-nec-superux${UNAME_RELEASE}
1198         exit ;;
1199     Power*:Rhapsody:*:*)
1200         echo powerpc-apple-rhapsody${UNAME_RELEASE}
1201         exit ;;
1202     *:Rhapsody:*:*)
1203         echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1204         exit ;;
1205     *:Darwin:*:*)
1206         UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1207         case $UNAME_PROCESSOR in
1208             i386)
1209                 eval $set_cc_for_build
1210                 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1211                   if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1212                       (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1213                       grep IS_64BIT_ARCH >/dev/null
1214                   then
1215                       UNAME_PROCESSOR="x86_64"
1216                   fi
1217                 fi ;;
1218             unknown) UNAME_PROCESSOR=powerpc ;;
1219         esac
1220         echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1221         exit ;;
1222     *:procnto*:*:* | *:QNX:[0123456789]*:*)
1223         UNAME_PROCESSOR=`uname -p`
1224         if test "$UNAME_PROCESSOR" = "x86"; then
1225                 UNAME_PROCESSOR=i386
1226                 UNAME_MACHINE=pc
1227         fi
1228         echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1229         exit ;;
1230     *:QNX:*:4*)
1231         echo i386-pc-qnx
1232         exit ;;
1233     NSE-?:NONSTOP_KERNEL:*:*)
1234         echo nse-tandem-nsk${UNAME_RELEASE}
1235         exit ;;
1236     NSR-?:NONSTOP_KERNEL:*:*)
1237         echo nsr-tandem-nsk${UNAME_RELEASE}
1238         exit ;;
1239     *:NonStop-UX:*:*)
1240         echo mips-compaq-nonstopux
1241         exit ;;
1242     BS2000:POSIX*:*:*)
1243         echo bs2000-siemens-sysv
1244         exit ;;
1245     DS/*:UNIX_System_V:*:*)
1246         echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1247         exit ;;
1248     *:Plan9:*:*)
1249         # "uname -m" is not consistent, so use $cputype instead. 386
1250         # is converted to i386 for consistency with other x86
1251         # operating systems.
1252         if test "$cputype" = "386"; then
1253             UNAME_MACHINE=i386
1254         else
1255             UNAME_MACHINE="$cputype"
1256         fi
1257         echo ${UNAME_MACHINE}-unknown-plan9
1258         exit ;;
1259     *:TOPS-10:*:*)
1260         echo pdp10-unknown-tops10
1261         exit ;;
1262     *:TENEX:*:*)
1263         echo pdp10-unknown-tenex
1264         exit ;;
1265     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1266         echo pdp10-dec-tops20
1267         exit ;;
1268     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1269         echo pdp10-xkl-tops20
1270         exit ;;
1271     *:TOPS-20:*:*)
1272         echo pdp10-unknown-tops20
1273         exit ;;
1274     *:ITS:*:*)
1275         echo pdp10-unknown-its
1276         exit ;;
1277     SEI:*:*:SEIUX)
1278         echo mips-sei-seiux${UNAME_RELEASE}
1279         exit ;;
1280     *:DragonFly:*:*)
1281         echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1282         exit ;;
1283     *:*VMS:*:*)
1284         UNAME_MACHINE=`(uname -p) 2>/dev/null`
1285         case "${UNAME_MACHINE}" in
1286             A*) echo alpha-dec-vms ; exit ;;
1287             I*) echo ia64-dec-vms ; exit ;;
1288             V*) echo vax-dec-vms ; exit ;;
1289         esac ;;
1290     *:XENIX:*:SysV)
1291         echo i386-pc-xenix
1292         exit ;;
1293     i*86:skyos:*:*)
1294         echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1295         exit ;;
1296     i*86:rdos:*:*)
1297         echo ${UNAME_MACHINE}-pc-rdos
1298         exit ;;
1299     i*86:AROS:*:*)
1300         echo ${UNAME_MACHINE}-pc-aros
1301         exit ;;
1302 esac
1303
1304 #echo '(No uname command or uname output not recognized.)' 1>&2
1305 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1306
1307 eval $set_cc_for_build
1308 cat >$dummy.c <<EOF
1309 #ifdef _SEQUENT_
1310 # include <sys/types.h>
1311 # include <sys/utsname.h>
1312 #endif
1313 main ()
1314 {
1315 #if defined (sony)
1316 #if defined (MIPSEB)
1317   /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1318      I don't know....  */
1319   printf ("mips-sony-bsd\n"); exit (0);
1320 #else
1321 #include <sys/param.h>
1322   printf ("m68k-sony-newsos%s\n",
1323 #ifdef NEWSOS4
1324           "4"
1325 #else
1326           ""
1327 #endif
1328          ); exit (0);
1329 #endif
1330 #endif
1331
1332 #if defined (__arm) && defined (__acorn) && defined (__unix)
1333   printf ("arm-acorn-riscix\n"); exit (0);
1334 #endif
1335
1336 #if defined (hp300) && !defined (hpux)
1337   printf ("m68k-hp-bsd\n"); exit (0);
1338 #endif
1339
1340 #if defined (NeXT)
1341 #if !defined (__ARCHITECTURE__)
1342 #define __ARCHITECTURE__ "m68k"
1343 #endif
1344   int version;
1345   version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1346   if (version < 4)
1347     printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1348   else
1349     printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1350   exit (0);
1351 #endif
1352
1353 #if defined (MULTIMAX) || defined (n16)
1354 #if defined (UMAXV)
1355   printf ("ns32k-encore-sysv\n"); exit (0);
1356 #else
1357 #if defined (CMU)
1358   printf ("ns32k-encore-mach\n"); exit (0);
1359 #else
1360   printf ("ns32k-encore-bsd\n"); exit (0);
1361 #endif
1362 #endif
1363 #endif
1364
1365 #if defined (__386BSD__)
1366   printf ("i386-pc-bsd\n"); exit (0);
1367 #endif
1368
1369 #if defined (sequent)
1370 #if defined (i386)
1371   printf ("i386-sequent-dynix\n"); exit (0);
1372 #endif
1373 #if defined (ns32000)
1374   printf ("ns32k-sequent-dynix\n"); exit (0);
1375 #endif
1376 #endif
1377
1378 #if defined (_SEQUENT_)
1379     struct utsname un;
1380
1381     uname(&un);
1382
1383     if (strncmp(un.version, "V2", 2) == 0) {
1384         printf ("i386-sequent-ptx2\n"); exit (0);
1385     }
1386     if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1387         printf ("i386-sequent-ptx1\n"); exit (0);
1388     }
1389     printf ("i386-sequent-ptx\n"); exit (0);
1390
1391 #endif
1392
1393 #if defined (vax)
1394 # if !defined (ultrix)
1395 #  include <sys/param.h>
1396 #  if defined (BSD)
1397 #   if BSD == 43
1398       printf ("vax-dec-bsd4.3\n"); exit (0);
1399 #   else
1400 #    if BSD == 199006
1401       printf ("vax-dec-bsd4.3reno\n"); exit (0);
1402 #    else
1403       printf ("vax-dec-bsd\n"); exit (0);
1404 #    endif
1405 #   endif
1406 #  else
1407     printf ("vax-dec-bsd\n"); exit (0);
1408 #  endif
1409 # else
1410     printf ("vax-dec-ultrix\n"); exit (0);
1411 # endif
1412 #endif
1413
1414 #if defined (alliant) && defined (i860)
1415   printf ("i860-alliant-bsd\n"); exit (0);
1416 #endif
1417
1418   exit (1);
1419 }
1420 EOF
1421
1422 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1423         { echo "$SYSTEM_NAME"; exit; }
1424
1425 # Apollos put the system type in the environment.
1426
1427 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1428
1429 # Convex versions that predate uname can use getsysinfo(1)
1430
1431 if [ -x /usr/convex/getsysinfo ]
1432 then
1433     case `getsysinfo -f cpu_type` in
1434     c1*)
1435         echo c1-convex-bsd
1436         exit ;;
1437     c2*)
1438         if getsysinfo -f scalar_acc
1439         then echo c32-convex-bsd
1440         else echo c2-convex-bsd
1441         fi
1442         exit ;;
1443     c34*)
1444         echo c34-convex-bsd
1445         exit ;;
1446     c38*)
1447         echo c38-convex-bsd
1448         exit ;;
1449     c4*)
1450         echo c4-convex-bsd
1451         exit ;;
1452     esac
1453 fi
1454
1455 cat >&2 <<EOF
1456 $0: unable to guess system type
1457
1458 This script, last modified $timestamp, has failed to recognize
1459 the operating system you are using. It is advised that you
1460 download the most up to date version of the config scripts from
1461
1462   http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1463 and
1464   http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1465
1466 If the version you run ($0) is already up to date, please
1467 send the following data and any information you think might be
1468 pertinent to <config-patches@gnu.org> in order to provide the needed
1469 information to handle your system.
1470
1471 config.guess timestamp = $timestamp
1472
1473 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1474 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1475 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1476 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1477
1478 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1479 /bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1480
1481 hostinfo               = `(hostinfo) 2>/dev/null`
1482 /bin/universe          = `(/bin/universe) 2>/dev/null`
1483 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1484 /bin/arch              = `(/bin/arch) 2>/dev/null`
1485 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1486 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1487
1488 UNAME_MACHINE = ${UNAME_MACHINE}
1489 UNAME_RELEASE = ${UNAME_RELEASE}
1490 UNAME_SYSTEM  = ${UNAME_SYSTEM}
1491 UNAME_VERSION = ${UNAME_VERSION}
1492 EOF
1493
1494 exit 1
1495
1496 # Local variables:
1497 # eval: (add-hook 'write-file-hooks 'time-stamp)
1498 # time-stamp-start: "timestamp='"
1499 # time-stamp-format: "%:y-%02m-%02d"
1500 # time-stamp-end: "'"
1501 # End: