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