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