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