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