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