ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libspf/build_tools/config.guess
Revision: 1.1
Committed: Tue Nov 13 00:51:23 2007 UTC (16 years, 6 months ago) by root
Branch: MAIN
CVS Tags: HEAD
Log Message:
initial import of libspf-1.0.0-p5 from freebsd ports

File Contents

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