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