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