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