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