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