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