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