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