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