Show VarBind OIDs and trap enterprise OID in info column.
[obnox/wireshark/wip.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-07-02'
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 powerpc-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*:[3456]*)
804         echo i586-pc-interix${UNAME_RELEASE}
805         exit ;;
806     EM64T:Interix*:[3456]*)
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     avr32*:Linux:*:*)
845         echo ${UNAME_MACHINE}-unknown-linux-gnu
846         exit ;;
847     cris:Linux:*:*)
848         echo cris-axis-linux-gnu
849         exit ;;
850     crisv32:Linux:*:*)
851         echo crisv32-axis-linux-gnu
852         exit ;;
853     frv:Linux:*:*)
854         echo frv-${VENDOR}-linux-gnu
855         exit ;;
856     ia64:Linux:*:*)
857         echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
858         exit ;;
859     m32r*:Linux:*:*)
860         echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
861         exit ;;
862     m68*:Linux:*:*)
863         echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
864         exit ;;
865     mips:Linux:*:*)
866         eval $set_cc_for_build
867         sed 's/^        //' << EOF >$dummy.c
868         #undef CPU
869         #undef mips
870         #undef mipsel
871         #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
872         CPU=mipsel
873         #else
874         #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
875         CPU=mips
876         #else
877         CPU=
878         #endif
879         #endif
880 EOF
881         eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
882             /^CPU/{
883                 s: ::g
884                 p
885             }'`"
886         test x"${CPU}" != x && { echo "${CPU}-${VENDOR}-linux-gnu"; exit; }
887         ;;
888     mips64:Linux:*:*)
889         eval $set_cc_for_build
890         sed 's/^        //' << EOF >$dummy.c
891         #undef CPU
892         #undef mips64
893         #undef mips64el
894         #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
895         CPU=mips64el
896         #else
897         #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
898         CPU=mips64
899         #else
900         CPU=
901         #endif
902         #endif
903 EOF
904         eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
905             /^CPU/{
906                 s: ::g
907                 p
908             }'`"
909         test x"${CPU}" != x && { echo "${CPU}-${VENDOR}-linux-gnu"; exit; }
910         ;;
911     or32:Linux:*:*)
912         echo or32-${VENDOR}-linux-gnu
913         exit ;;
914     ppc:Linux:*:*)
915         echo powerpc-${VENDOR}-linux-gnu
916         exit ;;
917     ppc64:Linux:*:*)
918         echo powerpc64-${VENDOR}-linux-gnu
919         exit ;;
920     alpha:Linux:*:*)
921         case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
922           EV5)   UNAME_MACHINE=alphaev5 ;;
923           EV56)  UNAME_MACHINE=alphaev56 ;;
924           PCA56) UNAME_MACHINE=alphapca56 ;;
925           PCA57) UNAME_MACHINE=alphapca56 ;;
926           EV6)   UNAME_MACHINE=alphaev6 ;;
927           EV67)  UNAME_MACHINE=alphaev67 ;;
928           EV68*) UNAME_MACHINE=alphaev68 ;;
929         esac
930         objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
931         if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
932         echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu${LIBC}
933         exit ;;
934     parisc:Linux:*:* | hppa:Linux:*:*)
935         # Look for CPU level
936         case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
937           PA7*) echo hppa1.1-${VENDOR}-linux-gnu ;;
938           PA8*) echo hppa2.0-${VENDOR}-linux-gnu ;;
939           *)    echo hppa-${VENDOR}-linux-gnu ;;
940         esac
941         exit ;;
942     parisc64:Linux:*:* | hppa64:Linux:*:*)
943         echo hppa64-${VENDOR}-linux-gnu
944         exit ;;
945     s390:Linux:*:* | s390x:Linux:*:*)
946         echo ${UNAME_MACHINE}-ibm-linux
947         exit ;;
948     sh64*:Linux:*:*)
949         echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
950         exit ;;
951     sh*:Linux:*:*)
952         echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
953         exit ;;
954     sparc:Linux:*:* | sparc64:Linux:*:*)
955         echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
956         exit ;;
957     vax:Linux:*:*)
958         echo ${UNAME_MACHINE}-dec-linux-gnu
959         exit ;;
960     x86_64:Linux:*:*)
961         echo x86_64-${VENDOR}-linux-gnu
962         exit ;;
963     i*86:Linux:*:*)
964         # The BFD linker knows what the default object file format is, so
965         # first see if it will tell us. cd to the root directory to prevent
966         # problems with other programs or directories called `ld' in the path.
967         # Set LC_ALL=C to ensure ld outputs messages in English.
968         ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
969                          | sed -ne '/supported targets:/!d
970                                     s/[         ][      ]*/ /g
971                                     s/.*supported targets: *//
972                                     s/ .*//
973                                     p'`
974         case "$ld_supported_targets" in
975           elf32-i386)
976                 TENTATIVE="${UNAME_MACHINE}-${VENDOR}-linux-gnu"
977                 ;;
978           a.out-i386-linux)
979                 echo "${UNAME_MACHINE}-${VENDOR}-linux-gnuaout"
980                 exit ;;
981           coff-i386)
982                 echo "${UNAME_MACHINE}-${VENDOR}-linux-gnucoff"
983                 exit ;;
984           "")
985                 # Either a pre-BFD a.out linker (linux-gnuoldld) or
986                 # one that does not give us useful --help.
987                 echo "${UNAME_MACHINE}-${VENDOR}-linux-gnuoldld"
988                 exit ;;
989         esac
990         # Determine whether the default compiler is a.out or elf
991         eval $set_cc_for_build
992         sed 's/^        //' << EOF >$dummy.c
993         #include <features.h>
994         #ifdef __ELF__
995         # ifdef __GLIBC__
996         #  if __GLIBC__ >= 2
997         LIBC=gnu
998         #  else
999         LIBC=gnulibc1
1000         #  endif
1001         # else
1002         LIBC=gnulibc1
1003         # endif
1004         #else
1005         #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
1006         LIBC=gnu
1007         #else
1008         LIBC=gnuaout
1009         #endif
1010         #endif
1011         #ifdef __dietlibc__
1012         LIBC=dietlibc
1013         #endif
1014 EOF
1015         eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1016             /^LIBC/{
1017                 s: ::g
1018                 p
1019             }'`"
1020         test x"${LIBC}" != x && {
1021                 echo "${UNAME_MACHINE}-${VENDOR}-linux-${LIBC}"
1022                 exit
1023         }
1024         test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
1025         ;;
1026     i*86:DYNIX/ptx:4*:*)
1027         # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1028         # earlier versions are messed up and put the nodename in both
1029         # sysname and nodename.
1030         echo i386-sequent-sysv4
1031         exit ;;
1032     i*86:UNIX_SV:4.2MP:2.*)
1033         # Unixware is an offshoot of SVR4, but it has its own version
1034         # number series starting with 2...
1035         # I am not positive that other SVR4 systems won't match this,
1036         # I just have to hope.  -- rms.
1037         # Use sysv4.2uw... so that sysv4* matches it.
1038         echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1039         exit ;;
1040     i*86:OS/2:*:*)
1041         # If we were able to find `uname', then EMX Unix compatibility
1042         # is probably installed.
1043         echo ${UNAME_MACHINE}-pc-os2-emx
1044         exit ;;
1045     i*86:XTS-300:*:STOP)
1046         echo ${UNAME_MACHINE}-unknown-stop
1047         exit ;;
1048     i*86:atheos:*:*)
1049         echo ${UNAME_MACHINE}-unknown-atheos
1050         exit ;;
1051     i*86:syllable:*:*)
1052         echo ${UNAME_MACHINE}-pc-syllable
1053         exit ;;
1054     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1055         echo i386-unknown-lynxos${UNAME_RELEASE}
1056         exit ;;
1057     i*86:*DOS:*:*)
1058         echo ${UNAME_MACHINE}-pc-msdosdjgpp
1059         exit ;;
1060     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1061         UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1062         if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1063                 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1064         else
1065                 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1066         fi
1067         exit ;;
1068     i*86:*:5:[678]*)
1069         # UnixWare 7.x, OpenUNIX and OpenServer 6.
1070         case `/bin/uname -X | grep "^Machine"` in
1071             *486*)           UNAME_MACHINE=i486 ;;
1072             *Pentium)        UNAME_MACHINE=i586 ;;
1073             *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1074         esac
1075         echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1076         exit ;;
1077     i*86:*:3.2:*)
1078         if test -f /usr/options/cb.name; then
1079                 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1080                 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1081         elif /bin/uname -X 2>/dev/null >/dev/null ; then
1082                 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1083                 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1084                 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1085                         && UNAME_MACHINE=i586
1086                 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1087                         && UNAME_MACHINE=i686
1088                 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1089                         && UNAME_MACHINE=i686
1090                 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1091         else
1092                 echo ${UNAME_MACHINE}-pc-sysv32
1093         fi
1094         exit ;;
1095     pc:*:*:*)
1096         # Left here for compatibility:
1097         # uname -m prints for DJGPP always 'pc', but it prints nothing about
1098         # the processor, so we play safe by assuming i386.
1099         echo i386-pc-msdosdjgpp
1100         exit ;;
1101     Intel:Mach:3*:*)
1102         echo i386-pc-mach3
1103         exit ;;
1104     paragon:*:*:*)
1105         echo i860-intel-osf1
1106         exit ;;
1107     i860:*:4.*:*) # i860-SVR4
1108         if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1109           echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1110         else # Add other i860-SVR4 vendors below as they are discovered.
1111           echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
1112         fi
1113         exit ;;
1114     mini*:CTIX:SYS*5:*)
1115         # "miniframe"
1116         echo m68010-convergent-sysv
1117         exit ;;
1118     mc68k:UNIX:SYSTEM5:3.51m)
1119         echo m68k-convergent-sysv
1120         exit ;;
1121     M680?0:D-NIX:5.3:*)
1122         echo m68k-diab-dnix
1123         exit ;;
1124     M68*:*:R3V[5678]*:*)
1125         test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1126     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)
1127         OS_REL=''
1128         test -r /etc/.relid \
1129         && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1130         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1131           && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1132         /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1133           && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1134     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1135         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1136           && { echo i486-ncr-sysv4; exit; } ;;
1137     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1138         echo m68k-unknown-lynxos${UNAME_RELEASE}
1139         exit ;;
1140     mc68030:UNIX_System_V:4.*:*)
1141         echo m68k-atari-sysv4
1142         exit ;;
1143     TSUNAMI:LynxOS:2.*:*)
1144         echo sparc-unknown-lynxos${UNAME_RELEASE}
1145         exit ;;
1146     rs6000:LynxOS:2.*:*)
1147         echo rs6000-unknown-lynxos${UNAME_RELEASE}
1148         exit ;;
1149     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1150         echo powerpc-unknown-lynxos${UNAME_RELEASE}
1151         exit ;;
1152     SM[BE]S:UNIX_SV:*:*)
1153         echo mips-dde-sysv${UNAME_RELEASE}
1154         exit ;;
1155     RM*:ReliantUNIX-*:*:*)
1156         echo mips-sni-sysv4
1157         exit ;;
1158     RM*:SINIX-*:*:*)
1159         echo mips-sni-sysv4
1160         exit ;;
1161     *:SINIX-*:*:*)
1162         if uname -p 2>/dev/null >/dev/null ; then
1163                 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1164                 echo ${UNAME_MACHINE}-sni-sysv4
1165         else
1166                 echo ns32k-sni-sysv
1167         fi
1168         exit ;;
1169     PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1170                       # says <Richard.M.Bartel@ccMail.Census.GOV>
1171         echo i586-unisys-sysv4
1172         exit ;;
1173     *:UNIX_System_V:4*:FTX*)
1174         # From Gerald Hewes <hewes@openmarket.com>.
1175         # How about differentiating between stratus architectures? -djm
1176         echo hppa1.1-stratus-sysv4
1177         exit ;;
1178     *:*:*:FTX*)
1179         # From seanf@swdc.stratus.com.
1180         echo i860-stratus-sysv4
1181         exit ;;
1182     i*86:VOS:*:*)
1183         # From Paul.Green@stratus.com.
1184         echo ${UNAME_MACHINE}-stratus-vos
1185         exit ;;
1186     *:VOS:*:*)
1187         # From Paul.Green@stratus.com.
1188         echo hppa1.1-stratus-vos
1189         exit ;;
1190     mc68*:A/UX:*:*)
1191         echo m68k-apple-aux${UNAME_RELEASE}
1192         exit ;;
1193     news*:NEWS-OS:6*:*)
1194         echo mips-sony-newsos6
1195         exit ;;
1196     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1197         if [ -d /usr/nec ]; then
1198                 echo mips-nec-sysv${UNAME_RELEASE}
1199         else
1200                 echo mips-unknown-sysv${UNAME_RELEASE}
1201         fi
1202         exit ;;
1203     BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
1204         echo powerpc-be-beos
1205         exit ;;
1206     BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
1207         echo powerpc-apple-beos
1208         exit ;;
1209     BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
1210         echo i586-pc-beos
1211         exit ;;
1212     SX-4:SUPER-UX:*:*)
1213         echo sx4-nec-superux${UNAME_RELEASE}
1214         exit ;;
1215     SX-5:SUPER-UX:*:*)
1216         echo sx5-nec-superux${UNAME_RELEASE}
1217         exit ;;
1218     SX-6:SUPER-UX:*:*)
1219         echo sx6-nec-superux${UNAME_RELEASE}
1220         exit ;;
1221     Power*:Rhapsody:*:*)
1222         echo powerpc-apple-rhapsody${UNAME_RELEASE}
1223         exit ;;
1224     *:Rhapsody:*:*)
1225         echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1226         exit ;;
1227     *:Darwin:*:*)
1228         UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1229         case $UNAME_PROCESSOR in
1230             unknown) UNAME_PROCESSOR=powerpc ;;
1231         esac
1232         echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1233         exit ;;
1234     *:procnto*:*:* | *:QNX:[0123456789]*:*)
1235         UNAME_PROCESSOR=`uname -p`
1236         if test "$UNAME_PROCESSOR" = "x86"; then
1237                 UNAME_PROCESSOR=i386
1238                 UNAME_MACHINE=pc
1239         fi
1240         echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1241         exit ;;
1242     *:QNX:*:4*)
1243         echo i386-pc-qnx
1244         exit ;;
1245     NSE-?:NONSTOP_KERNEL:*:*)
1246         echo nse-tandem-nsk${UNAME_RELEASE}
1247         exit ;;
1248     NSR-?:NONSTOP_KERNEL:*:*)
1249         echo nsr-tandem-nsk${UNAME_RELEASE}
1250         exit ;;
1251     *:NonStop-UX:*:*)
1252         echo mips-compaq-nonstopux
1253         exit ;;
1254     BS2000:POSIX*:*:*)
1255         echo bs2000-siemens-sysv
1256         exit ;;
1257     DS/*:UNIX_System_V:*:*)
1258         echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1259         exit ;;
1260     *:Plan9:*:*)
1261         # "uname -m" is not consistent, so use $cputype instead. 386
1262         # is converted to i386 for consistency with other x86
1263         # operating systems.
1264         if test "$cputype" = "386"; then
1265             UNAME_MACHINE=i386
1266         else
1267             UNAME_MACHINE="$cputype"
1268         fi
1269         echo ${UNAME_MACHINE}-unknown-plan9
1270         exit ;;
1271     *:TOPS-10:*:*)
1272         echo pdp10-unknown-tops10
1273         exit ;;
1274     *:TENEX:*:*)
1275         echo pdp10-unknown-tenex
1276         exit ;;
1277     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1278         echo pdp10-dec-tops20
1279         exit ;;
1280     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1281         echo pdp10-xkl-tops20
1282         exit ;;
1283     *:TOPS-20:*:*)
1284         echo pdp10-unknown-tops20
1285         exit ;;
1286     *:ITS:*:*)
1287         echo pdp10-unknown-its
1288         exit ;;
1289     SEI:*:*:SEIUX)
1290         echo mips-sei-seiux${UNAME_RELEASE}
1291         exit ;;
1292     *:DragonFly:*:*)
1293         echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1294         exit ;;
1295     *:*VMS:*:*)
1296         UNAME_MACHINE=`(uname -p) 2>/dev/null`
1297         case "${UNAME_MACHINE}" in
1298             A*) echo alpha-dec-vms ; exit ;;
1299             I*) echo ia64-dec-vms ; exit ;;
1300             V*) echo vax-dec-vms ; exit ;;
1301         esac ;;
1302     *:XENIX:*:SysV)
1303         echo i386-pc-xenix
1304         exit ;;
1305     i*86:skyos:*:*)
1306         echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1307         exit ;;
1308     i*86:rdos:*:*)
1309         echo ${UNAME_MACHINE}-pc-rdos
1310         exit ;;
1311 esac
1312
1313 #echo '(No uname command or uname output not recognized.)' 1>&2
1314 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1315
1316 eval $set_cc_for_build
1317 cat >$dummy.c <<EOF
1318 #ifdef _SEQUENT_
1319 # include <sys/types.h>
1320 # include <sys/utsname.h>
1321 #endif
1322 main ()
1323 {
1324 #if defined (sony)
1325 #if defined (MIPSEB)
1326   /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
1327      I don't know....  */
1328   printf ("mips-sony-bsd\n"); exit (0);
1329 #else
1330 #include <sys/param.h>
1331   printf ("m68k-sony-newsos%s\n",
1332 #ifdef NEWSOS4
1333           "4"
1334 #else
1335           ""
1336 #endif
1337          ); exit (0);
1338 #endif
1339 #endif
1340
1341 #if defined (__arm) && defined (__acorn) && defined (__unix)
1342   printf ("arm-acorn-riscix\n"); exit (0);
1343 #endif
1344
1345 #if defined (hp300) && !defined (hpux)
1346   printf ("m68k-hp-bsd\n"); exit (0);
1347 #endif
1348
1349 #if defined (NeXT)
1350 #if !defined (__ARCHITECTURE__)
1351 #define __ARCHITECTURE__ "m68k"
1352 #endif
1353   int version;
1354   version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1355   if (version < 4)
1356     printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1357   else
1358     printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1359   exit (0);
1360 #endif
1361
1362 #if defined (MULTIMAX) || defined (n16)
1363 #if defined (UMAXV)
1364   printf ("ns32k-encore-sysv\n"); exit (0);
1365 #else
1366 #if defined (CMU)
1367   printf ("ns32k-encore-mach\n"); exit (0);
1368 #else
1369   printf ("ns32k-encore-bsd\n"); exit (0);
1370 #endif
1371 #endif
1372 #endif
1373
1374 #if defined (__386BSD__)
1375   printf ("i386-pc-bsd\n"); exit (0);
1376 #endif
1377
1378 #if defined (sequent)
1379 #if defined (i386)
1380   printf ("i386-sequent-dynix\n"); exit (0);
1381 #endif
1382 #if defined (ns32000)
1383   printf ("ns32k-sequent-dynix\n"); exit (0);
1384 #endif
1385 #endif
1386
1387 #if defined (_SEQUENT_)
1388     struct utsname un;
1389
1390     uname(&un);
1391
1392     if (strncmp(un.version, "V2", 2) == 0) {
1393         printf ("i386-sequent-ptx2\n"); exit (0);
1394     }
1395     if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1396         printf ("i386-sequent-ptx1\n"); exit (0);
1397     }
1398     printf ("i386-sequent-ptx\n"); exit (0);
1399
1400 #endif
1401
1402 #if defined (vax)
1403 # if !defined (ultrix)
1404 #  include <sys/param.h>
1405 #  if defined (BSD)
1406 #   if BSD == 43
1407       printf ("vax-dec-bsd4.3\n"); exit (0);
1408 #   else
1409 #    if BSD == 199006
1410       printf ("vax-dec-bsd4.3reno\n"); exit (0);
1411 #    else
1412       printf ("vax-dec-bsd\n"); exit (0);
1413 #    endif
1414 #   endif
1415 #  else
1416     printf ("vax-dec-bsd\n"); exit (0);
1417 #  endif
1418 # else
1419     printf ("vax-dec-ultrix\n"); exit (0);
1420 # endif
1421 #endif
1422
1423 #if defined (alliant) && defined (i860)
1424   printf ("i860-alliant-bsd\n"); exit (0);
1425 #endif
1426
1427   exit (1);
1428 }
1429 EOF
1430
1431 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1432         { echo "$SYSTEM_NAME"; exit; }
1433
1434 # Apollos put the system type in the environment.
1435
1436 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1437
1438 # Convex versions that predate uname can use getsysinfo(1)
1439
1440 if [ -x /usr/convex/getsysinfo ]
1441 then
1442     case `getsysinfo -f cpu_type` in
1443     c1*)
1444         echo c1-convex-bsd
1445         exit ;;
1446     c2*)
1447         if getsysinfo -f scalar_acc
1448         then echo c32-convex-bsd
1449         else echo c2-convex-bsd
1450         fi
1451         exit ;;
1452     c34*)
1453         echo c34-convex-bsd
1454         exit ;;
1455     c38*)
1456         echo c38-convex-bsd
1457         exit ;;
1458     c4*)
1459         echo c4-convex-bsd
1460         exit ;;
1461     esac
1462 fi
1463
1464 cat >&2 <<EOF
1465 $0: unable to guess system type
1466
1467 This script, last modified $timestamp, has failed to recognize
1468 the operating system you are using. It is advised that you
1469 download the most up to date version of the config scripts from
1470
1471   http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
1472 and
1473   http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
1474
1475 If the version you run ($0) is already up to date, please
1476 send the following data and any information you think might be
1477 pertinent to <config-patches@gnu.org> in order to provide the needed
1478 information to handle your system.
1479
1480 config.guess timestamp = $timestamp
1481
1482 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1483 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1484 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1485 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1486
1487 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1488 /bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
1489
1490 hostinfo               = `(hostinfo) 2>/dev/null`
1491 /bin/universe          = `(/bin/universe) 2>/dev/null`
1492 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
1493 /bin/arch              = `(/bin/arch) 2>/dev/null`
1494 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
1495 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1496
1497 UNAME_MACHINE = ${UNAME_MACHINE}
1498 UNAME_RELEASE = ${UNAME_RELEASE}
1499 UNAME_SYSTEM  = ${UNAME_SYSTEM}
1500 UNAME_VERSION = ${UNAME_VERSION}
1501 EOF
1502
1503 exit 1
1504
1505 # Local variables:
1506 # eval: (add-hook 'write-file-hooks 'time-stamp)
1507 # time-stamp-start: "timestamp='"
1508 # time-stamp-format: "%:y-%02m-%02d"
1509 # time-stamp-end: "'"
1510 # End: