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