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