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