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