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