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