ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/Frodo4/Src/config.guess
Revision: 1.2
Committed: 2008-02-29T08:05:11Z (14 years, 11 months ago) by berlac
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +150 -94 lines
Log Message:
Updated to newer version.

File Contents

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