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