OSDN Git Service

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