(struct COS_Cons_ent): New structure.
[chise/concord.git] / config.guess
1 #! /bin/sh
2 # Attempt to guess a canonical system name.
3 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4 #   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
5
6 timestamp='2005-05-15'
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*:* | i*:windows32*:*)
809         echo ${UNAME_MACHINE}-pc-mingw32
810         exit ;;
811     i*:PW*:*)
812         echo ${UNAME_MACHINE}-pc-pw32
813         exit ;;
814     x86:Interix*:[34]*)
815         echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
816         exit ;;
817     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
818         echo i${UNAME_MACHINE}-pc-mks
819         exit ;;
820     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
821         # How do we know it's Interix rather than the generic POSIX subsystem?
822         # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
823         # UNAME_MACHINE based on the output of uname instead of i386?
824         echo i586-pc-interix
825         exit ;;
826     i*:UWIN*:*)
827         echo ${UNAME_MACHINE}-pc-uwin
828         exit ;;
829     amd64:CYGWIN*:*:*)
830         echo x86_64-unknown-cygwin
831         exit ;;
832     p*:CYGWIN*:*)
833         echo powerpcle-unknown-cygwin
834         exit ;;
835     prep*:SunOS:5.*:*)
836         echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
837         exit ;;
838     *:GNU:*:*)
839         # the GNU system
840         echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
841         exit ;;
842     *:GNU/*:*:*)
843         # other systems with GNU libc and userland
844         echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
845         exit ;;
846     i*86:Minix:*:*)
847         echo ${UNAME_MACHINE}-pc-minix
848         exit ;;
849     arm*:Linux:*:*)
850         echo ${UNAME_MACHINE}-unknown-linux-gnu
851         exit ;;
852     cris:Linux:*:*)
853         echo cris-axis-linux-gnu
854         exit ;;
855     crisv32:Linux:*:*)
856         echo crisv32-axis-linux-gnu
857         exit ;;
858     frv:Linux:*:*)
859         echo frv-unknown-linux-gnu
860         exit ;;
861     ia64:Linux:*:*)
862         echo ${UNAME_MACHINE}-unknown-linux-gnu
863         exit ;;
864     m32r*:Linux:*:*)
865         echo ${UNAME_MACHINE}-unknown-linux-gnu
866         exit ;;
867     m68*:Linux:*:*)
868         echo ${UNAME_MACHINE}-unknown-linux-gnu
869         exit ;;
870     mips:Linux:*:*)
871         eval $set_cc_for_build
872         sed 's/^        //' << EOF >$dummy.c
873         #undef CPU
874         #undef mips
875         #undef mipsel
876         #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
877         CPU=mipsel
878         #else
879         #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
880         CPU=mips
881         #else
882         CPU=
883         #endif
884         #endif
885 EOF
886         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
887         test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
888         ;;
889     mips64:Linux:*:*)
890         eval $set_cc_for_build
891         sed 's/^        //' << EOF >$dummy.c
892         #undef CPU
893         #undef mips64
894         #undef mips64el
895         #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
896         CPU=mips64el
897         #else
898         #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
899         CPU=mips64
900         #else
901         CPU=
902         #endif
903         #endif
904 EOF
905         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
906         test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
907         ;;
908     ppc:Linux:*:*)
909         echo powerpc-unknown-linux-gnu
910         exit ;;
911     ppc64:Linux:*:*)
912         echo powerpc64-unknown-linux-gnu
913         exit ;;
914     alpha:Linux:*:*)
915         case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
916           EV5)   UNAME_MACHINE=alphaev5 ;;
917           EV56)  UNAME_MACHINE=alphaev56 ;;
918           PCA56) UNAME_MACHINE=alphapca56 ;;
919           PCA57) UNAME_MACHINE=alphapca56 ;;
920           EV6)   UNAME_MACHINE=alphaev6 ;;
921           EV67)  UNAME_MACHINE=alphaev67 ;;
922           EV68*) UNAME_MACHINE=alphaev68 ;;
923         esac
924         objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
925         if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
926         echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
927         exit ;;
928     parisc:Linux:*:* | hppa:Linux:*:*)
929         # Look for CPU level
930         case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
931           PA7*) echo hppa1.1-unknown-linux-gnu ;;
932           PA8*) echo hppa2.0-unknown-linux-gnu ;;
933           *)    echo hppa-unknown-linux-gnu ;;
934         esac
935         exit ;;
936     parisc64:Linux:*:* | hppa64:Linux:*:*)
937         echo hppa64-unknown-linux-gnu
938         exit ;;
939     s390:Linux:*:* | s390x:Linux:*:*)
940         echo ${UNAME_MACHINE}-ibm-linux
941         exit ;;
942     sh64*:Linux:*:*)
943         echo ${UNAME_MACHINE}-unknown-linux-gnu
944         exit ;;
945     sh*:Linux:*:*)
946         echo ${UNAME_MACHINE}-unknown-linux-gnu
947         exit ;;
948     sparc:Linux:*:* | sparc64:Linux:*:*)
949         echo ${UNAME_MACHINE}-unknown-linux-gnu
950         exit ;;
951     x86_64:Linux:*:*)
952         echo x86_64-unknown-linux-gnu
953         exit ;;
954     i*86:Linux:*:*)
955         # The BFD linker knows what the default object file format is, so
956         # first see if it will tell us. cd to the root directory to prevent
957         # problems with other programs or directories called `ld' in the path.
958         # Set LC_ALL=C to ensure ld outputs messages in English.
959         ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
960                          | sed -ne '/supported targets:/!d
961                                     s/[         ][      ]*/ /g
962                                     s/.*supported targets: *//
963                                     s/ .*//
964                                     p'`
965         case "$ld_supported_targets" in
966           elf32-i386)
967                 TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
968                 ;;
969           a.out-i386-linux)
970                 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
971                 exit ;;
972           coff-i386)
973                 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
974                 exit ;;
975           "")
976                 # Either a pre-BFD a.out linker (linux-gnuoldld) or
977                 # one that does not give us useful --help.
978                 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
979                 exit ;;
980         esac
981         # Determine whether the default compiler is a.out or elf
982         eval $set_cc_for_build
983         sed 's/^        //' << EOF >$dummy.c
984         #include <features.h>
985         #ifdef __ELF__
986         # ifdef __GLIBC__
987         #  if __GLIBC__ >= 2
988         LIBC=gnu
989         #  else
990         LIBC=gnulibc1
991         #  endif
992         # else
993         LIBC=gnulibc1
994         # endif
995         #else
996         #ifdef __INTEL_COMPILER
997         LIBC=gnu
998         #else
999         LIBC=gnuaout
1000         #endif
1001         #endif
1002         #ifdef __dietlibc__
1003         LIBC=dietlibc
1004         #endif
1005 EOF
1006         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
1007         test x"${LIBC}" != x && {
1008                 echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1009                 exit
1010         }
1011         test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
1012         ;;
1013     i*86:DYNIX/ptx:4*:*)
1014         # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1015         # earlier versions are messed up and put the nodename in both
1016         # sysname and nodename.
1017         echo i386-sequent-sysv4
1018         exit ;;
1019     i*86:UNIX_SV:4.2MP:2.*)
1020         # Unixware is an offshoot of SVR4, but it has its own version
1021         # number series starting with 2...
1022         # I am not positive that other SVR4 systems won't match this,
1023         # I just have to hope.  -- rms.
1024         # Use sysv4.2uw... so that sysv4* matches it.
1025         echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1026         exit ;;
1027     i*86:OS/2:*:*)
1028         # If we were able to find `uname', then EMX Unix compatibility
1029         # is probably installed.
1030         echo ${UNAME_MACHINE}-pc-os2-emx
1031         exit ;;
1032     i*86:XTS-300:*:STOP)
1033         echo ${UNAME_MACHINE}-unknown-stop
1034         exit ;;
1035     i*86:atheos:*:*)
1036         echo ${UNAME_MACHINE}-unknown-atheos
1037         exit ;;
1038     i*86:syllable:*:*)
1039         echo ${UNAME_MACHINE}-pc-syllable
1040         exit ;;
1041     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1042         echo i386-unknown-lynxos${UNAME_RELEASE}
1043         exit ;;
1044     i*86:*DOS:*:*)
1045         echo ${UNAME_MACHINE}-pc-msdosdjgpp
1046         exit ;;
1047     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1048         UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1049         if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1050                 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1051         else
1052                 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1053         fi
1054         exit ;;
1055     i*86:*:5:[678]*)
1056         # UnixWare 7.x, OpenUNIX and OpenServer 6.
1057         case `/bin/uname -X | grep "^Machine"` in
1058             *486*)           UNAME_MACHINE=i486 ;;
1059             *Pentium)        UNAME_MACHINE=i586 ;;
1060             *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1061         esac
1062         echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1063         exit ;;
1064     i*86:*:3.2:*)
1065         if test -f /usr/options/cb.name; then
1066                 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1067                 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1068         elif /bin/uname -X 2>/dev/null >/dev/null ; then
1069                 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1070                 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1071                 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1072                         && UNAME_MACHINE=i586
1073                 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1074                         && UNAME_MACHINE=i686
1075                 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1076                         && UNAME_MACHINE=i686
1077                 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1078         else
1079                 echo ${UNAME_MACHINE}-pc-sysv32
1080         fi
1081         exit ;;
1082     pc:*:*:*)
1083         # Left here for compatibility:
1084         # uname -m prints for DJGPP always 'pc', but it prints nothing about
1085         # the processor, so we play safe by assuming i386.
1086         echo i386-pc-msdosdjgpp
1087         exit ;;
1088     Intel:Mach:3*:*)
1089         echo i386-pc-mach3
1090         exit ;;
1091     paragon:*:*:*)
1092         echo i860-intel-osf1
1093         exit ;;
1094     i860:*:4.*:*) # i860-SVR4
1095         if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1096           echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1097         else # Add other i860-SVR4 vendors below as they are discovered.
1098           echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1099         fi
1100         exit ;;
1101     mini*:CTIX:SYS*5:*)
1102         # "miniframe"
1103         echo m68010-convergent-sysv
1104         exit ;;
1105     mc68k:UNIX:SYSTEM5:3.51m)
1106         echo m68k-convergent-sysv
1107         exit ;;
1108     M680?0:D-NIX:5.3:*)
1109         echo m68k-diab-dnix
1110         exit ;;
1111     M68*:*:R3V[5678]*:*)
1112         test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1113     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)
1114         OS_REL=''
1115         test -r /etc/.relid \
1116         && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1117         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1118           && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1119         /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1120           && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1121     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1122         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1123           && { echo i486-ncr-sysv4; exit; } ;;
1124     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1125         echo m68k-unknown-lynxos${UNAME_RELEASE}
1126         exit ;;
1127     mc68030:UNIX_System_V:4.*:*)
1128         echo m68k-atari-sysv4
1129         exit ;;
1130     TSUNAMI:LynxOS:2.*:*)
1131         echo sparc-unknown-lynxos${UNAME_RELEASE}
1132         exit ;;
1133     rs6000:LynxOS:2.*:*)
1134         echo rs6000-unknown-lynxos${UNAME_RELEASE}
1135         exit ;;
1136     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1137         echo powerpc-unknown-lynxos${UNAME_RELEASE}
1138         exit ;;
1139     SM[BE]S:UNIX_SV:*:*)
1140         echo mips-dde-sysv${UNAME_RELEASE}
1141         exit ;;
1142     RM*:ReliantUNIX-*:*:*)
1143         echo mips-sni-sysv4
1144         exit ;;
1145     RM*:SINIX-*:*:*)
1146         echo mips-sni-sysv4
1147         exit ;;
1148     *:SINIX-*:*:*)
1149         if uname -p 2>/dev/null >/dev/null ; then
1150                 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1151                 echo ${UNAME_MACHINE}-sni-sysv4
1152         else
1153                 echo ns32k-sni-sysv
1154         fi
1155         exit ;;
1156     PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1157                       # says <Richard.M.Bartel@ccMail.Census.GOV>
1158         echo i586-unisys-sysv4
1159         exit ;;
1160     *:UNIX_System_V:4*:FTX*)
1161         # From Gerald Hewes <hewes@openmarket.com>.
1162         # How about differentiating between stratus architectures? -djm
1163         echo hppa1.1-stratus-sysv4
1164         exit ;;
1165     *:*:*:FTX*)
1166         # From seanf@swdc.stratus.com.
1167         echo i860-stratus-sysv4
1168         exit ;;
1169     i*86:VOS:*:*)
1170         # From Paul.Green@stratus.com.
1171         echo ${UNAME_MACHINE}-stratus-vos
1172         exit ;;
1173     *:VOS:*:*)
1174         # From Paul.Green@stratus.com.
1175         echo hppa1.1-stratus-vos
1176         exit ;;
1177     mc68*:A/UX:*:*)
1178         echo m68k-apple-aux${UNAME_RELEASE}
1179         exit ;;
1180     news*:NEWS-OS:6*:*)
1181         echo mips-sony-newsos6
1182         exit ;;
1183     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1184         if [ -d /usr/nec ]; then
1185                 echo mips-nec-sysv${UNAME_RELEASE}
1186         else
1187                 echo mips-unknown-sysv${UNAME_RELEASE}
1188         fi
1189         exit ;;
1190     BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
1191         echo powerpc-be-beos
1192         exit ;;
1193     BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
1194         echo powerpc-apple-beos
1195         exit ;;
1196     BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
1197         echo i586-pc-beos
1198         exit ;;
1199     SX-4:SUPER-UX:*:*)
1200         echo sx4-nec-superux${UNAME_RELEASE}
1201         exit ;;
1202     SX-5:SUPER-UX:*:*)
1203         echo sx5-nec-superux${UNAME_RELEASE}
1204         exit ;;
1205     SX-6:SUPER-UX:*:*)
1206         echo sx6-nec-superux${UNAME_RELEASE}
1207         exit ;;
1208     Power*:Rhapsody:*:*)
1209         echo powerpc-apple-rhapsody${UNAME_RELEASE}
1210         exit ;;
1211     *:Rhapsody:*:*)
1212         echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1213         exit ;;
1214     *:Darwin:*:*)
1215         UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1216         case $UNAME_PROCESSOR in
1217             *86) UNAME_PROCESSOR=i686 ;;
1218             unknown) UNAME_PROCESSOR=powerpc ;;
1219         esac
1220         echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1221         exit ;;
1222     *:procnto*:*:* | *:QNX:[0123456789]*:*)
1223         UNAME_PROCESSOR=`uname -p`
1224         if test "$UNAME_PROCESSOR" = "x86"; then
1225                 UNAME_PROCESSOR=i386
1226                 UNAME_MACHINE=pc
1227         fi
1228         echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1229         exit ;;
1230     *:QNX:*:4*)
1231         echo i386-pc-qnx
1232         exit ;;
1233     NSE-?:NONSTOP_KERNEL:*:*)
1234         echo nse-tandem-nsk${UNAME_RELEASE}
1235         exit ;;
1236     NSR-?:NONSTOP_KERNEL:*:*)
1237         echo nsr-tandem-nsk${UNAME_RELEASE}
1238         exit ;;
1239     *:NonStop-UX:*:*)
1240         echo mips-compaq-nonstopux
1241         exit ;;
1242     BS2000:POSIX*:*:*)
1243         echo bs2000-siemens-sysv
1244         exit ;;
1245     DS/*:UNIX_System_V:*:*)
1246         echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1247         exit ;;
1248     *:Plan9:*:*)
1249         # "uname -m" is not consistent, so use $cputype instead. 386
1250         # is converted to i386 for consistency with other x86
1251         # operating systems.
1252         if test "$cputype" = "386"; then
1253             UNAME_MACHINE=i386
1254         else
1255             UNAME_MACHINE="$cputype"
1256         fi
1257         echo ${UNAME_MACHINE}-unknown-plan9
1258         exit ;;
1259     *:TOPS-10:*:*)
1260         echo pdp10-unknown-tops10
1261         exit ;;
1262     *:TENEX:*:*)
1263         echo pdp10-unknown-tenex
1264         exit ;;
1265     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1266         echo pdp10-dec-tops20
1267         exit ;;
1268     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1269         echo pdp10-xkl-tops20
1270         exit ;;
1271     *:TOPS-20:*:*)
1272         echo pdp10-unknown-tops20
1273         exit ;;
1274     *:ITS:*:*)
1275         echo pdp10-unknown-its
1276         exit ;;
1277     SEI:*:*:SEIUX)
1278         echo mips-sei-seiux${UNAME_RELEASE}
1279         exit ;;
1280     *:DragonFly:*:*)
1281         echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1282         exit ;;
1283     *:*VMS:*:*)
1284         UNAME_MACHINE=`(uname -p) 2>/dev/null`
1285         case "${UNAME_MACHINE}" in
1286             A*) echo alpha-dec-vms ; exit ;;
1287             I*) echo ia64-dec-vms ; exit ;;
1288             V*) echo vax-dec-vms ; exit ;;
1289         esac ;;
1290     *:XENIX:*:SysV)
1291         echo i386-pc-xenix
1292         exit ;;
1293     i*86:skyos:*:*)
1294         echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1295         exit ;;
1296 esac
1297
1298 #echo '(No uname command or uname output not recognized.)' 1>&2
1299 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1300
1301 eval $set_cc_for_build
1302 cat >$dummy.c <<EOF
1303 #ifdef _SEQUENT_
1304 # include <sys/types.h>
1305 # include <sys/utsname.h>
1306 #endif
1307 main ()
1308 {
1309 #if defined (sony)
1310 #if defined (MIPSEB)
1311   /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1312      I don't know....  */
1313   printf ("mips-sony-bsd\n"); exit (0);
1314 #else
1315 #include <sys/param.h>
1316   printf ("m68k-sony-newsos%s\n",
1317 #ifdef NEWSOS4
1318           "4"
1319 #else
1320           ""
1321 #endif
1322          ); exit (0);
1323 #endif
1324 #endif
1325
1326 #if defined (__arm) && defined (__acorn) && defined (__unix)
1327   printf ("arm-acorn-riscix\n"); exit (0);
1328 #endif
1329
1330 #if defined (hp300) && !defined (hpux)
1331   printf ("m68k-hp-bsd\n"); exit (0);
1332 #endif
1333
1334 #if defined (NeXT)
1335 #if !defined (__ARCHITECTURE__)
1336 #define __ARCHITECTURE__ "m68k"
1337 #endif
1338   int version;
1339   version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1340   if (version < 4)
1341     printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1342   else
1343     printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1344   exit (0);
1345 #endif
1346
1347 #if defined (MULTIMAX) || defined (n16)
1348 #if defined (UMAXV)
1349   printf ("ns32k-encore-sysv\n"); exit (0);
1350 #else
1351 #if defined (CMU)
1352   printf ("ns32k-encore-mach\n"); exit (0);
1353 #else
1354   printf ("ns32k-encore-bsd\n"); exit (0);
1355 #endif
1356 #endif
1357 #endif
1358
1359 #if defined (__386BSD__)
1360   printf ("i386-pc-bsd\n"); exit (0);
1361 #endif
1362
1363 #if defined (sequent)
1364 #if defined (i386)
1365   printf ("i386-sequent-dynix\n"); exit (0);
1366 #endif
1367 #if defined (ns32000)
1368   printf ("ns32k-sequent-dynix\n"); exit (0);
1369 #endif
1370 #endif
1371
1372 #if defined (_SEQUENT_)
1373     struct utsname un;
1374
1375     uname(&un);
1376
1377     if (strncmp(un.version, "V2", 2) == 0) {
1378         printf ("i386-sequent-ptx2\n"); exit (0);
1379     }
1380     if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1381         printf ("i386-sequent-ptx1\n"); exit (0);
1382     }
1383     printf ("i386-sequent-ptx\n"); exit (0);
1384
1385 #endif
1386
1387 #if defined (vax)
1388 # if !defined (ultrix)
1389 #  include <sys/param.h>
1390 #  if defined (BSD)
1391 #   if BSD == 43
1392       printf ("vax-dec-bsd4.3\n"); exit (0);
1393 #   else
1394 #    if BSD == 199006
1395       printf ("vax-dec-bsd4.3reno\n"); exit (0);
1396 #    else
1397       printf ("vax-dec-bsd\n"); exit (0);
1398 #    endif
1399 #   endif
1400 #  else
1401     printf ("vax-dec-bsd\n"); exit (0);
1402 #  endif
1403 # else
1404     printf ("vax-dec-ultrix\n"); exit (0);
1405 # endif
1406 #endif
1407
1408 #if defined (alliant) && defined (i860)
1409   printf ("i860-alliant-bsd\n"); exit (0);
1410 #endif
1411
1412   exit (1);
1413 }
1414 EOF
1415
1416 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1417         { echo "$SYSTEM_NAME"; exit; }
1418
1419 # Apollos put the system type in the environment.
1420
1421 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1422
1423 # Convex versions that predate uname can use getsysinfo(1)
1424
1425 if [ -x /usr/convex/getsysinfo ]
1426 then
1427     case `getsysinfo -f cpu_type` in
1428     c1*)
1429         echo c1-convex-bsd
1430         exit ;;
1431     c2*)
1432         if getsysinfo -f scalar_acc
1433         then echo c32-convex-bsd
1434         else echo c2-convex-bsd
1435         fi
1436         exit ;;
1437     c34*)
1438         echo c34-convex-bsd
1439         exit ;;
1440     c38*)
1441         echo c38-convex-bsd
1442         exit ;;
1443     c4*)
1444         echo c4-convex-bsd
1445         exit ;;
1446     esac
1447 fi
1448
1449 cat >&2 <<EOF
1450 $0: unable to guess system type
1451
1452 This script, last modified $timestamp, has failed to recognize
1453 the operating system you are using. It is advised that you
1454 download the most up to date version of the config scripts from
1455
1456   http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
1457 and
1458   http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
1459
1460 If the version you run ($0) is already up to date, please
1461 send the following data and any information you think might be
1462 pertinent to <config-patches@gnu.org> in order to provide the needed
1463 information to handle your system.
1464
1465 config.guess timestamp = $timestamp
1466
1467 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1468 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1469 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1470 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1471
1472 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1473 /bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1474
1475 hostinfo               = `(hostinfo) 2>/dev/null`
1476 /bin/universe          = `(/bin/universe) 2>/dev/null`
1477 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1478 /bin/arch              = `(/bin/arch) 2>/dev/null`
1479 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1480 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1481
1482 UNAME_MACHINE = ${UNAME_MACHINE}
1483 UNAME_RELEASE = ${UNAME_RELEASE}
1484 UNAME_SYSTEM  = ${UNAME_SYSTEM}
1485 UNAME_VERSION = ${UNAME_VERSION}
1486 EOF
1487
1488 exit 1
1489
1490 # Local variables:
1491 # eval: (add-hook 'write-file-hooks 'time-stamp)
1492 # time-stamp-start: "timestamp='"
1493 # time-stamp-format: "%:y-%02m-%02d"
1494 # time-stamp-end: "'"
1495 # End: