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