ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/autoconf/config.guess
Revision: 1.1
Committed: Mon Nov 24 17:28:08 2003 UTC (20 years, 7 months ago) by pcg
Branch: MAIN
CVS Tags: rel-2_1_0, rel-3_4, rel-3_3, rel-3_2, rel-2_8, rel-3_0, rel-2_4, rel-2_5, rel-2_2, rel-2_3, rel-2_0, rel-1-9, rel-1-3, rel-1-2, rxvt-2-0, rel-1_9, rel-2_7
Log Message:
*** empty log message ***

File Contents

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