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