]> git.sur5r.net Git - openldap/blob - build/config.guess
Merge remote-tracking branch 'origin/mdb.master'
[openldap] / build / 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 #   Free Software Foundation, Inc.
6
7 timestamp='2010-09-24-OpenLDAP'
8 # $OpenLDAP$
9
10 # This file is free software; you can redistribute it and/or modify it
11 # under the terms of the GNU General Public License as published by
12 # the Free Software Foundation; either version 2 of the License, or
13 # (at your option) any later version.
14 #
15 # This program is distributed in the hope that it will be useful, but
16 # WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18 # General Public License for more details.
19 #
20 # You should have received a copy of the GNU General Public License
21 # along with this program; if not, write to the Free Software
22 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
23 # 02110-1301, USA.
24 #
25 # As a special exception to the GNU General Public License, if you
26 # distribute this file as part of a program that contains a
27 # configuration script generated by Autoconf, you may include it under
28 # the same distribution terms that you use for the rest of that program.
29
30
31 # Originally written by Per Bothner.  Please send patches (context
32 # diff format) to <config-patches@gnu.org> and include a ChangeLog
33 # entry.
34 #
35 # This script attempts to guess a canonical system name similar to
36 # config.sub.  If it succeeds, it prints the system name on stdout, and
37 # exits with 0.  Otherwise, it exits with 1.
38 #
39 # You can get the latest version of this script from:
40 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
41
42 me=`echo "$0" | sed -e 's,.*/,,'`
43
44 usage="\
45 Usage: $0 [OPTION]
46
47 Output the configuration name of the system \`$me' is run on.
48
49 Operation modes:
50   -h, --help         print this help, then exit
51   -t, --time-stamp   print date of last modification, then exit
52   -v, --version      print version number, then exit
53
54 Report bugs and patches to <config-patches@gnu.org>."
55
56 version="\
57 GNU config.guess ($timestamp)
58
59 Originally written by Per Bothner.
60 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
61 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
62 Software Foundation, Inc.
63
64 This is free software; see the source for copying conditions.  There is NO
65 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
66
67 help="
68 Try \`$me --help' for more information."
69
70 # Parse command line
71 while test $# -gt 0 ; do
72   case $1 in
73     --time-stamp | --time* | -t )
74        echo "$timestamp" ; exit ;;
75     --version | -v )
76        echo "$version" ; exit ;;
77     --help | --h* | -h )
78        echo "$usage"; exit ;;
79     -- )     # Stop option processing
80        shift; break ;;
81     - ) # Use stdin as input.
82        break ;;
83     -* )
84        echo "$me: invalid option $1$help" >&2
85        exit 1 ;;
86     * )
87        break ;;
88   esac
89 done
90
91 if test $# != 0; then
92   echo "$me: too many arguments$help" >&2
93   exit 1
94 fi
95
96 trap 'exit 1' HUP INT TERM
97
98 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
99 # compiler to aid in system detection is discouraged as it requires
100 # temporary files to be created and, as you can see below, it is a
101 # headache to deal with in a portable fashion.
102
103 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
104 # use `HOST_CC' if defined, but it is deprecated.
105
106 # Portable tmp directory creation inspired by the Autoconf team.
107
108 set_cc_for_build='
109 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
110 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" HUP INT PIPE TERM ;
111 : ${TMPDIR=/tmp} ;
112  { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
113  { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
114  { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
115  { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
116 dummy=$tmp/dummy ;
117 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
118 case $CC_FOR_BUILD,$HOST_CC,$CC in
119  ,,)    echo "int x;" > $dummy.c ;
120         for c in cc gcc c89 c99 ; do
121           if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
122              CC_FOR_BUILD="$c"; break ;
123           fi ;
124         done ;
125         if test x"$CC_FOR_BUILD" = x ; then
126           CC_FOR_BUILD=no_compiler_found ;
127         fi
128         ;;
129  ,,*)   CC_FOR_BUILD=$CC ;;
130  ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
131 esac ; set_cc_for_build= ;'
132
133 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
134 # (ghazi@noc.rutgers.edu 1994-08-24)
135 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
136         PATH=$PATH:/.attbin ; export PATH
137 fi
138
139 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
140 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
141 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
142 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
143
144 # Note: order is significant - the case branches are not exclusive.
145
146 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
147     *:NetBSD:*:*)
148         # NetBSD (nbsd) targets should (where applicable) match one or
149         # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
150         # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
151         # switched to ELF, *-*-netbsd* would select the old
152         # object file format.  This provides both forward
153         # compatibility and a consistent mechanism for selecting the
154         # object file format.
155         #
156         # Note: NetBSD doesn't particularly care about the vendor
157         # portion of the name.  We always set it to "unknown".
158         sysctl="sysctl -n hw.machine_arch"
159         UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
160             /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
161         case "${UNAME_MACHINE_ARCH}" in
162             armeb) machine=armeb-unknown ;;
163             arm*) machine=arm-unknown ;;
164             sh3el) machine=shl-unknown ;;
165             sh3eb) machine=sh-unknown ;;
166             sh5el) machine=sh5le-unknown ;;
167             *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
168         esac
169         # The Operating System including object format, if it has switched
170         # to ELF recently, or will in the future.
171         case "${UNAME_MACHINE_ARCH}" in
172             arm*|i386|m68k|ns32k|sh3*|sparc|vax)
173                 eval $set_cc_for_build
174                 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
175                         | grep -q __ELF__
176                 then
177                     # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
178                     # Return netbsd for either.  FIX?
179                     os=netbsd
180                 else
181                     os=netbsdelf
182                 fi
183                 ;;
184             *)
185                 os=netbsd
186                 ;;
187         esac
188         # The OS release
189         # Debian GNU/NetBSD machines have a different userland, and
190         # thus, need a distinct triplet. However, they do not need
191         # kernel version information, so it can be replaced with a
192         # suitable tag, in the style of linux-gnu.
193         case "${UNAME_VERSION}" in
194             Debian*)
195                 release='-gnu'
196                 ;;
197             *)
198                 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
199                 ;;
200         esac
201         # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
202         # contains redundant information, the shorter form:
203         # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
204         echo "${machine}-${os}${release}"
205         exit ;;
206     *:OpenBSD:*:*)
207         UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
208         echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
209         exit ;;
210     *:ekkoBSD:*:*)
211         echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
212         exit ;;
213     *:SolidBSD:*:*)
214         echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
215         exit ;;
216     macppc:MirBSD:*:*)
217         echo powerpc-unknown-mirbsd${UNAME_RELEASE}
218         exit ;;
219     *:MirBSD:*:*)
220         echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
221         exit ;;
222     alpha:OSF1:*:*)
223         case $UNAME_RELEASE in
224         *4.0)
225                 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
226                 ;;
227         *5.*)
228                 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
229                 ;;
230         esac
231         # According to Compaq, /usr/sbin/psrinfo has been available on
232         # OSF/1 and Tru64 systems produced since 1995.  I hope that
233         # covers most systems running today.  This code pipes the CPU
234         # types through head -n 1, so we only detect the type of CPU 0.
235         ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
236         case "$ALPHA_CPU_TYPE" in
237             "EV4 (21064)")
238                 UNAME_MACHINE="alpha" ;;
239             "EV4.5 (21064)")
240                 UNAME_MACHINE="alpha" ;;
241             "LCA4 (21066/21068)")
242                 UNAME_MACHINE="alpha" ;;
243             "EV5 (21164)")
244                 UNAME_MACHINE="alphaev5" ;;
245             "EV5.6 (21164A)")
246                 UNAME_MACHINE="alphaev56" ;;
247             "EV5.6 (21164PC)")
248                 UNAME_MACHINE="alphapca56" ;;
249             "EV5.7 (21164PC)")
250                 UNAME_MACHINE="alphapca57" ;;
251             "EV6 (21264)")
252                 UNAME_MACHINE="alphaev6" ;;
253             "EV6.7 (21264A)")
254                 UNAME_MACHINE="alphaev67" ;;
255             "EV6.8CB (21264C)")
256                 UNAME_MACHINE="alphaev68" ;;
257             "EV6.8AL (21264B)")
258                 UNAME_MACHINE="alphaev68" ;;
259             "EV6.8CX (21264D)")
260                 UNAME_MACHINE="alphaev68" ;;
261             "EV6.9A (21264/EV69A)")
262                 UNAME_MACHINE="alphaev69" ;;
263             "EV7 (21364)")
264                 UNAME_MACHINE="alphaev7" ;;
265             "EV7.9 (21364A)")
266                 UNAME_MACHINE="alphaev79" ;;
267         esac
268         # A Pn.n version is a patched version.
269         # A Vn.n version is a released version.
270         # A Tn.n version is a released field test version.
271         # A Xn.n version is an unreleased experimental baselevel.
272         # 1.2 uses "1.2" for uname -r.
273         echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
274         exit ;;
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         case ${UNAME_MACHINE} in
794             pc98)
795                 echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
796             amd64)
797                 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
798             *)
799                 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
800         esac
801         exit ;;
802     i*:CYGWIN*:*)
803         echo ${UNAME_MACHINE}-pc-cygwin
804         exit ;;
805     *:MINGW*:*)
806         echo ${UNAME_MACHINE}-pc-mingw32
807         exit ;;
808     i*:windows32*:*)
809         # uname -m includes "-pc" on this system.
810         echo ${UNAME_MACHINE}-mingw32
811         exit ;;
812     i*:PW*:*)
813         echo ${UNAME_MACHINE}-pc-pw32
814         exit ;;
815     *:Interix*:*)
816         case ${UNAME_MACHINE} in
817             x86)
818                 echo i586-pc-interix${UNAME_RELEASE}
819                 exit ;;
820             authenticamd | genuineintel | EM64T)
821                 echo x86_64-unknown-interix${UNAME_RELEASE}
822                 exit ;;
823             IA64)
824                 echo ia64-unknown-interix${UNAME_RELEASE}
825                 exit ;;
826         esac ;;
827     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
828         echo i${UNAME_MACHINE}-pc-mks
829         exit ;;
830     8664:Windows_NT:*)
831         echo x86_64-pc-mks
832         exit ;;
833     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
834         # How do we know it's Interix rather than the generic POSIX subsystem?
835         # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
836         # UNAME_MACHINE based on the output of uname instead of i386?
837         echo i586-pc-interix
838         exit ;;
839     i*:UWIN*:*)
840         echo ${UNAME_MACHINE}-pc-uwin
841         exit ;;
842     amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
843         echo x86_64-unknown-cygwin
844         exit ;;
845     p*:CYGWIN*:*)
846         echo powerpcle-unknown-cygwin
847         exit ;;
848     prep*:SunOS:5.*:*)
849         echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
850         exit ;;
851     *:GNU:*:*)
852         # the GNU system
853         echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
854         exit ;;
855     *:GNU/*:*:*)
856         # other systems with GNU libc and userland
857         echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
858         exit ;;
859     i*86:Minix:*:*)
860         echo ${UNAME_MACHINE}-pc-minix
861         exit ;;
862     alpha:Linux:*:*)
863         case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
864           EV5)   UNAME_MACHINE=alphaev5 ;;
865           EV56)  UNAME_MACHINE=alphaev56 ;;
866           PCA56) UNAME_MACHINE=alphapca56 ;;
867           PCA57) UNAME_MACHINE=alphapca56 ;;
868           EV6)   UNAME_MACHINE=alphaev6 ;;
869           EV67)  UNAME_MACHINE=alphaev67 ;;
870           EV68*) UNAME_MACHINE=alphaev68 ;;
871         esac
872         objdump --private-headers /bin/sh | grep -q ld.so.1
873         if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
874         echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
875         exit ;;
876     arm*:Linux:*:*)
877         eval $set_cc_for_build
878         if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
879             | grep -q __ARM_EABI__
880         then
881             echo ${UNAME_MACHINE}-unknown-linux-gnu
882         else
883             echo ${UNAME_MACHINE}-unknown-linux-gnueabi
884         fi
885         exit ;;
886     avr32*:Linux:*:*)
887         echo ${UNAME_MACHINE}-unknown-linux-gnu
888         exit ;;
889     cris:Linux:*:*)
890         echo cris-axis-linux-gnu
891         exit ;;
892     crisv32:Linux:*:*)
893         echo crisv32-axis-linux-gnu
894         exit ;;
895     frv:Linux:*:*)
896         echo frv-unknown-linux-gnu
897         exit ;;
898     i*86:Linux:*:*)
899         LIBC=gnu
900         eval $set_cc_for_build
901         sed 's/^        //' << EOF >$dummy.c
902         #ifdef __dietlibc__
903         LIBC=dietlibc
904         #endif
905 EOF
906         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
907         echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
908         exit ;;
909     ia64:Linux:*:*)
910         echo ${UNAME_MACHINE}-unknown-linux-gnu
911         exit ;;
912     m32r*:Linux:*:*)
913         echo ${UNAME_MACHINE}-unknown-linux-gnu
914         exit ;;
915     m68*:Linux:*:*)
916         echo ${UNAME_MACHINE}-unknown-linux-gnu
917         exit ;;
918     mips:Linux:*:* | mips64:Linux:*:*)
919         eval $set_cc_for_build
920         sed 's/^        //' << EOF >$dummy.c
921         #undef CPU
922         #undef ${UNAME_MACHINE}
923         #undef ${UNAME_MACHINE}el
924         #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
925         CPU=${UNAME_MACHINE}el
926         #else
927         #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
928         CPU=${UNAME_MACHINE}
929         #else
930         CPU=
931         #endif
932         #endif
933 EOF
934         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
935         test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
936         ;;
937     or32:Linux:*:*)
938         echo or32-unknown-linux-gnu
939         exit ;;
940     padre:Linux:*:*)
941         echo sparc-unknown-linux-gnu
942         exit ;;
943     parisc64:Linux:*:* | hppa64:Linux:*:*)
944         echo hppa64-unknown-linux-gnu
945         exit ;;
946     parisc:Linux:*:* | hppa:Linux:*:*)
947         # Look for CPU level
948         case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
949           PA7*) echo hppa1.1-unknown-linux-gnu ;;
950           PA8*) echo hppa2.0-unknown-linux-gnu ;;
951           *)    echo hppa-unknown-linux-gnu ;;
952         esac
953         exit ;;
954     ppc64:Linux:*:*)
955         echo powerpc64-unknown-linux-gnu
956         exit ;;
957     ppc:Linux:*:*)
958         echo powerpc-unknown-linux-gnu
959         exit ;;
960     s390:Linux:*:* | s390x:Linux:*:*)
961         echo ${UNAME_MACHINE}-ibm-linux
962         exit ;;
963     sh64*:Linux:*:*)
964         echo ${UNAME_MACHINE}-unknown-linux-gnu
965         exit ;;
966     sh*:Linux:*:*)
967         echo ${UNAME_MACHINE}-unknown-linux-gnu
968         exit ;;
969     sparc:Linux:*:* | sparc64:Linux:*:*)
970         echo ${UNAME_MACHINE}-unknown-linux-gnu
971         exit ;;
972     tile*:Linux:*:*)
973         echo ${UNAME_MACHINE}-tilera-linux-gnu
974         exit ;;
975     vax:Linux:*:*)
976         echo ${UNAME_MACHINE}-dec-linux-gnu
977         exit ;;
978     x86_64:Linux:*:*)
979         echo x86_64-unknown-linux-gnu
980         exit ;;
981     xtensa*:Linux:*:*)
982         echo ${UNAME_MACHINE}-unknown-linux-gnu
983         exit ;;
984     i*86:DYNIX/ptx:4*:*)
985         # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
986         # earlier versions are messed up and put the nodename in both
987         # sysname and nodename.
988         echo i386-sequent-sysv4
989         exit ;;
990     i*86:UNIX_SV:4.2MP:2.*)
991         # Unixware is an offshoot of SVR4, but it has its own version
992         # number series starting with 2...
993         # I am not positive that other SVR4 systems won't match this,
994         # I just have to hope.  -- rms.
995         # Use sysv4.2uw... so that sysv4* matches it.
996         echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
997         exit ;;
998     i*86:OS/2:*:*)
999         # If we were able to find `uname', then EMX Unix compatibility
1000         # is probably installed.
1001         echo ${UNAME_MACHINE}-pc-os2-emx
1002         exit ;;
1003     i*86:XTS-300:*:STOP)
1004         echo ${UNAME_MACHINE}-unknown-stop
1005         exit ;;
1006     i*86:atheos:*:*)
1007         echo ${UNAME_MACHINE}-unknown-atheos
1008         exit ;;
1009     i*86:syllable:*:*)
1010         echo ${UNAME_MACHINE}-pc-syllable
1011         exit ;;
1012     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1013         echo i386-unknown-lynxos${UNAME_RELEASE}
1014         exit ;;
1015     i*86:*DOS:*:*)
1016         echo ${UNAME_MACHINE}-pc-msdosdjgpp
1017         exit ;;
1018     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1019         UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1020         if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1021                 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1022         else
1023                 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1024         fi
1025         exit ;;
1026     i*86:*:5:[678]*)
1027         # UnixWare 7.x, OpenUNIX and OpenServer 6.
1028         case `/bin/uname -X | grep "^Machine"` in
1029             *486*)           UNAME_MACHINE=i486 ;;
1030             *Pentium)        UNAME_MACHINE=i586 ;;
1031             *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1032         esac
1033         echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1034         exit ;;
1035     i*86:*:3.2:*)
1036         if test -f /usr/options/cb.name; then
1037                 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1038                 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1039         elif /bin/uname -X 2>/dev/null >/dev/null ; then
1040                 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1041                 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1042                 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1043                         && UNAME_MACHINE=i586
1044                 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1045                         && UNAME_MACHINE=i686
1046                 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1047                         && UNAME_MACHINE=i686
1048                 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1049         else
1050                 echo ${UNAME_MACHINE}-pc-sysv32
1051         fi
1052         exit ;;
1053     pc:*:*:*)
1054         # Left here for compatibility:
1055         # uname -m prints for DJGPP always 'pc', but it prints nothing about
1056         # the processor, so we play safe by assuming i586.
1057         # Note: whatever this is, it MUST be the same as what config.sub
1058         # prints for the "djgpp" host, or else GDB configury will decide that
1059         # this is a cross-build.
1060         echo i586-pc-msdosdjgpp
1061         exit ;;
1062     Intel:Mach:3*:*)
1063         echo i386-pc-mach3
1064         exit ;;
1065     paragon:*:*:*)
1066         echo i860-intel-osf1
1067         exit ;;
1068     i860:*:4.*:*) # i860-SVR4
1069         if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1070           echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1071         else # Add other i860-SVR4 vendors below as they are discovered.
1072           echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1073         fi
1074         exit ;;
1075     mini*:CTIX:SYS*5:*)
1076         # "miniframe"
1077         echo m68010-convergent-sysv
1078         exit ;;
1079     mc68k:UNIX:SYSTEM5:3.51m)
1080         echo m68k-convergent-sysv
1081         exit ;;
1082     M680?0:D-NIX:5.3:*)
1083         echo m68k-diab-dnix
1084         exit ;;
1085     M68*:*:R3V[5678]*:*)
1086         test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1087     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)
1088         OS_REL=''
1089         test -r /etc/.relid \
1090         && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1091         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1092           && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1093         /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1094           && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1095     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1096         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1097           && { echo i486-ncr-sysv4; exit; } ;;
1098     NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1099         OS_REL='.3'
1100         test -r /etc/.relid \
1101             && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1102         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1103             && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1104         /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1105             && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1106         /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1107             && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1108     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1109         echo m68k-unknown-lynxos${UNAME_RELEASE}
1110         exit ;;
1111     mc68030:UNIX_System_V:4.*:*)
1112         echo m68k-atari-sysv4
1113         exit ;;
1114     TSUNAMI:LynxOS:2.*:*)
1115         echo sparc-unknown-lynxos${UNAME_RELEASE}
1116         exit ;;
1117     rs6000:LynxOS:2.*:*)
1118         echo rs6000-unknown-lynxos${UNAME_RELEASE}
1119         exit ;;
1120     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1121         echo powerpc-unknown-lynxos${UNAME_RELEASE}
1122         exit ;;
1123     SM[BE]S:UNIX_SV:*:*)
1124         echo mips-dde-sysv${UNAME_RELEASE}
1125         exit ;;
1126     RM*:ReliantUNIX-*:*:*)
1127         echo mips-sni-sysv4
1128         exit ;;
1129     RM*:SINIX-*:*:*)
1130         echo mips-sni-sysv4
1131         exit ;;
1132     *:SINIX-*:*:*)
1133         if uname -p 2>/dev/null >/dev/null ; then
1134                 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1135                 echo ${UNAME_MACHINE}-sni-sysv4
1136         else
1137                 echo ns32k-sni-sysv
1138         fi
1139         exit ;;
1140     PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1141                       # says <Richard.M.Bartel@ccMail.Census.GOV>
1142         echo i586-unisys-sysv4
1143         exit ;;
1144     *:UNIX_System_V:4*:FTX*)
1145         # From Gerald Hewes <hewes@openmarket.com>.
1146         # How about differentiating between stratus architectures? -djm
1147         echo hppa1.1-stratus-sysv4
1148         exit ;;
1149     *:*:*:FTX*)
1150         # From seanf@swdc.stratus.com.
1151         echo i860-stratus-sysv4
1152         exit ;;
1153     i*86:VOS:*:*)
1154         # From Paul.Green@stratus.com.
1155         echo ${UNAME_MACHINE}-stratus-vos
1156         exit ;;
1157     *:VOS:*:*)
1158         # From Paul.Green@stratus.com.
1159         echo hppa1.1-stratus-vos
1160         exit ;;
1161     mc68*:A/UX:*:*)
1162         echo m68k-apple-aux${UNAME_RELEASE}
1163         exit ;;
1164     news*:NEWS-OS:6*:*)
1165         echo mips-sony-newsos6
1166         exit ;;
1167     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1168         if [ -d /usr/nec ]; then
1169                 echo mips-nec-sysv${UNAME_RELEASE}
1170         else
1171                 echo mips-unknown-sysv${UNAME_RELEASE}
1172         fi
1173         exit ;;
1174     BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
1175         echo powerpc-be-beos
1176         exit ;;
1177     BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
1178         echo powerpc-apple-beos
1179         exit ;;
1180     BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
1181         echo i586-pc-beos
1182         exit ;;
1183     BePC:Haiku:*:*)     # Haiku running on Intel PC compatible.
1184         echo i586-pc-haiku
1185         exit ;;
1186     SX-4:SUPER-UX:*:*)
1187         echo sx4-nec-superux${UNAME_RELEASE}
1188         exit ;;
1189     SX-5:SUPER-UX:*:*)
1190         echo sx5-nec-superux${UNAME_RELEASE}
1191         exit ;;
1192     SX-6:SUPER-UX:*:*)
1193         echo sx6-nec-superux${UNAME_RELEASE}
1194         exit ;;
1195     SX-7:SUPER-UX:*:*)
1196         echo sx7-nec-superux${UNAME_RELEASE}
1197         exit ;;
1198     SX-8:SUPER-UX:*:*)
1199         echo sx8-nec-superux${UNAME_RELEASE}
1200         exit ;;
1201     SX-8R:SUPER-UX:*:*)
1202         echo sx8r-nec-superux${UNAME_RELEASE}
1203         exit ;;
1204     Power*:Rhapsody:*:*)
1205         echo powerpc-apple-rhapsody${UNAME_RELEASE}
1206         exit ;;
1207     *:Rhapsody:*:*)
1208         echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1209         exit ;;
1210     *:Darwin:*:*)
1211         UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1212         case $UNAME_PROCESSOR in
1213             i386)
1214                 eval $set_cc_for_build
1215                 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1216                   if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1217                       (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1218                       grep IS_64BIT_ARCH >/dev/null
1219                   then
1220                       UNAME_PROCESSOR="x86_64"
1221                   fi
1222                 fi ;;
1223             unknown) UNAME_PROCESSOR=powerpc ;;
1224         esac
1225         echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1226         exit ;;
1227     *:procnto*:*:* | *:QNX:[0123456789]*:*)
1228         UNAME_PROCESSOR=`uname -p`
1229         if test "$UNAME_PROCESSOR" = "x86"; then
1230                 UNAME_PROCESSOR=i386
1231                 UNAME_MACHINE=pc
1232         fi
1233         echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1234         exit ;;
1235     *:QNX:*:4*)
1236         echo i386-pc-qnx
1237         exit ;;
1238     NEO-?:NONSTOP_KERNEL:*:*)
1239         echo neo-tandem-nsk${UNAME_RELEASE}
1240         exit ;;
1241     NSE-?:NONSTOP_KERNEL:*:*)
1242         echo nse-tandem-nsk${UNAME_RELEASE}
1243         exit ;;
1244     NSR-?:NONSTOP_KERNEL:*:*)
1245         echo nsr-tandem-nsk${UNAME_RELEASE}
1246         exit ;;
1247     *:NonStop-UX:*:*)
1248         echo mips-compaq-nonstopux
1249         exit ;;
1250     BS2000:POSIX*:*:*)
1251         echo bs2000-siemens-sysv
1252         exit ;;
1253     DS/*:UNIX_System_V:*:*)
1254         echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1255         exit ;;
1256     *:Plan9:*:*)
1257         # "uname -m" is not consistent, so use $cputype instead. 386
1258         # is converted to i386 for consistency with other x86
1259         # operating systems.
1260         if test "$cputype" = "386"; then
1261             UNAME_MACHINE=i386
1262         else
1263             UNAME_MACHINE="$cputype"
1264         fi
1265         echo ${UNAME_MACHINE}-unknown-plan9
1266         exit ;;
1267     *:TOPS-10:*:*)
1268         echo pdp10-unknown-tops10
1269         exit ;;
1270     *:TENEX:*:*)
1271         echo pdp10-unknown-tenex
1272         exit ;;
1273     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1274         echo pdp10-dec-tops20
1275         exit ;;
1276     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1277         echo pdp10-xkl-tops20
1278         exit ;;
1279     *:TOPS-20:*:*)
1280         echo pdp10-unknown-tops20
1281         exit ;;
1282     *:ITS:*:*)
1283         echo pdp10-unknown-its
1284         exit ;;
1285     SEI:*:*:SEIUX)
1286         echo mips-sei-seiux${UNAME_RELEASE}
1287         exit ;;
1288     *:DragonFly:*:*)
1289         echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1290         exit ;;
1291     *:*VMS:*:*)
1292         UNAME_MACHINE=`(uname -p) 2>/dev/null`
1293         case "${UNAME_MACHINE}" in
1294             A*) echo alpha-dec-vms ; exit ;;
1295             I*) echo ia64-dec-vms ; exit ;;
1296             V*) echo vax-dec-vms ; exit ;;
1297         esac ;;
1298     *:XENIX:*:SysV)
1299         echo i386-pc-xenix
1300         exit ;;
1301     i*86:skyos:*:*)
1302         echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1303         exit ;;
1304     i*86:rdos:*:*)
1305         echo ${UNAME_MACHINE}-pc-rdos
1306         exit ;;
1307     i*86:AROS:*:*)
1308         echo ${UNAME_MACHINE}-pc-aros
1309         exit ;;
1310 esac
1311
1312 #echo '(No uname command or uname output not recognized.)' 1>&2
1313 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1314
1315 eval $set_cc_for_build
1316 cat >$dummy.c <<EOF
1317 #ifdef _SEQUENT_
1318 # include <sys/types.h>
1319 # include <sys/utsname.h>
1320 #endif
1321 main ()
1322 {
1323 #if defined (sony)
1324 #if defined (MIPSEB)
1325   /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1326      I don't know....  */
1327   printf ("mips-sony-bsd\n"); exit (0);
1328 #else
1329 #include <sys/param.h>
1330   printf ("m68k-sony-newsos%s\n",
1331 #ifdef NEWSOS4
1332           "4"
1333 #else
1334           ""
1335 #endif
1336          ); exit (0);
1337 #endif
1338 #endif
1339
1340 #if defined (__arm) && defined (__acorn) && defined (__unix)
1341   printf ("arm-acorn-riscix\n"); exit (0);
1342 #endif
1343
1344 #if defined (hp300) && !defined (hpux)
1345   printf ("m68k-hp-bsd\n"); exit (0);
1346 #endif
1347
1348 #if defined (NeXT)
1349 #if !defined (__ARCHITECTURE__)
1350 #define __ARCHITECTURE__ "m68k"
1351 #endif
1352   int version;
1353   version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1354   if (version < 4)
1355     printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1356   else
1357     printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1358   exit (0);
1359 #endif
1360
1361 #if defined (MULTIMAX) || defined (n16)
1362 #if defined (UMAXV)
1363   printf ("ns32k-encore-sysv\n"); exit (0);
1364 #else
1365 #if defined (CMU)
1366   printf ("ns32k-encore-mach\n"); exit (0);
1367 #else
1368   printf ("ns32k-encore-bsd\n"); exit (0);
1369 #endif
1370 #endif
1371 #endif
1372
1373 #if defined (__386BSD__)
1374   printf ("i386-pc-bsd\n"); exit (0);
1375 #endif
1376
1377 #if defined (sequent)
1378 #if defined (i386)
1379   printf ("i386-sequent-dynix\n"); exit (0);
1380 #endif
1381 #if defined (ns32000)
1382   printf ("ns32k-sequent-dynix\n"); exit (0);
1383 #endif
1384 #endif
1385
1386 #if defined (_SEQUENT_)
1387     struct utsname un;
1388
1389     uname(&un);
1390
1391     if (strncmp(un.version, "V2", 2) == 0) {
1392         printf ("i386-sequent-ptx2\n"); exit (0);
1393     }
1394     if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1395         printf ("i386-sequent-ptx1\n"); exit (0);
1396     }
1397     printf ("i386-sequent-ptx\n"); exit (0);
1398
1399 #endif
1400
1401 #if defined (vax)
1402 # if !defined (ultrix)
1403 #  include <sys/param.h>
1404 #  if defined (BSD)
1405 #   if BSD == 43
1406       printf ("vax-dec-bsd4.3\n"); exit (0);
1407 #   else
1408 #    if BSD == 199006
1409       printf ("vax-dec-bsd4.3reno\n"); exit (0);
1410 #    else
1411       printf ("vax-dec-bsd\n"); exit (0);
1412 #    endif
1413 #   endif
1414 #  else
1415     printf ("vax-dec-bsd\n"); exit (0);
1416 #  endif
1417 # else
1418     printf ("vax-dec-ultrix\n"); exit (0);
1419 # endif
1420 #endif
1421
1422 #if defined (alliant) && defined (i860)
1423   printf ("i860-alliant-bsd\n"); exit (0);
1424 #endif
1425
1426   exit (1);
1427 }
1428 EOF
1429
1430 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1431         { echo "$SYSTEM_NAME"; exit; }
1432
1433 # Apollos put the system type in the environment.
1434
1435 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1436
1437 # Convex versions that predate uname can use getsysinfo(1)
1438
1439 if [ -x /usr/convex/getsysinfo ]
1440 then
1441     case `getsysinfo -f cpu_type` in
1442     c1*)
1443         echo c1-convex-bsd
1444         exit ;;
1445     c2*)
1446         if getsysinfo -f scalar_acc
1447         then echo c32-convex-bsd
1448         else echo c2-convex-bsd
1449         fi
1450         exit ;;
1451     c34*)
1452         echo c34-convex-bsd
1453         exit ;;
1454     c38*)
1455         echo c38-convex-bsd
1456         exit ;;
1457     c4*)
1458         echo c4-convex-bsd
1459         exit ;;
1460     esac
1461 fi
1462
1463 cat >&2 <<EOF
1464 $0: unable to guess system type
1465
1466 This script, last modified $timestamp, has failed to recognize
1467 the operating system you are using. It is advised that you
1468 download the most up to date version of the config scripts from
1469
1470   http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1471 and
1472   http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1473
1474 If the version you run ($0) is already up to date, please
1475 send the following data and any information you think might be
1476 pertinent to <config-patches@gnu.org> in order to provide the needed
1477 information to handle your system.
1478
1479 config.guess timestamp = $timestamp
1480
1481 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1482 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1483 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1484 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1485
1486 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1487 /bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1488
1489 hostinfo               = `(hostinfo) 2>/dev/null`
1490 /bin/universe          = `(/bin/universe) 2>/dev/null`
1491 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1492 /bin/arch              = `(/bin/arch) 2>/dev/null`
1493 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1494 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1495
1496 UNAME_MACHINE = ${UNAME_MACHINE}
1497 UNAME_RELEASE = ${UNAME_RELEASE}
1498 UNAME_SYSTEM  = ${UNAME_SYSTEM}
1499 UNAME_VERSION = ${UNAME_VERSION}
1500 EOF
1501
1502 exit 1
1503
1504 # Local variables:
1505 # eval: (add-hook 'write-file-hooks 'time-stamp)
1506 # time-stamp-start: "timestamp='"
1507 # time-stamp-format: "%:y-%02m-%02d"
1508 # time-stamp-end: "'"
1509 # End: