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