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