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