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