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