OSDN Git Service

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