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