]> git.ipfire.org Git - thirdparty/gcc.git/blame - config.guess
* config.sub, config.guess: Update from upstream sources.
[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
18430d27 7timestamp='2008-12-18'
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.
1119 echo i386-pc-msdosdjgpp
0063a823 1120 exit ;;
6599da04
JM
1121 Intel:Mach:3*:*)
1122 echo i386-pc-mach3
0063a823 1123 exit ;;
6599da04
JM
1124 paragon:*:*:*)
1125 echo i860-intel-osf1
0063a823 1126 exit ;;
6599da04
JM
1127 i860:*:4.*:*) # i860-SVR4
1128 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1129 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1130 else # Add other i860-SVR4 vendors below as they are discovered.
1131 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1132 fi
0063a823 1133 exit ;;
6599da04
JM
1134 mini*:CTIX:SYS*5:*)
1135 # "miniframe"
1136 echo m68010-convergent-sysv
0063a823 1137 exit ;;
7f0db92a
SS
1138 mc68k:UNIX:SYSTEM5:3.51m)
1139 echo m68k-convergent-sysv
0063a823 1140 exit ;;
7f0db92a
SS
1141 M680?0:D-NIX:5.3:*)
1142 echo m68k-diab-dnix
0063a823 1143 exit ;;
fc4d0e82 1144 M68*:*:R3V[5678]*:*)
0063a823 1145 test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
fc4d0e82 1146 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
1147 OS_REL=''
1148 test -r /etc/.relid \
1149 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1150 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
0063a823 1151 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
6599da04 1152 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
0063a823 1153 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
6599da04
JM
1154 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1155 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
0063a823 1156 && { echo i486-ncr-sysv4; exit; } ;;
ae3ca0a9 1157 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
6599da04 1158 echo m68k-unknown-lynxos${UNAME_RELEASE}
0063a823 1159 exit ;;
6599da04
JM
1160 mc68030:UNIX_System_V:4.*:*)
1161 echo m68k-atari-sysv4
0063a823 1162 exit ;;
6599da04
JM
1163 TSUNAMI:LynxOS:2.*:*)
1164 echo sparc-unknown-lynxos${UNAME_RELEASE}
0063a823 1165 exit ;;
ae3ca0a9 1166 rs6000:LynxOS:2.*:*)
6599da04 1167 echo rs6000-unknown-lynxos${UNAME_RELEASE}
0063a823 1168 exit ;;
ae3ca0a9
PE
1169 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1170 echo powerpc-unknown-lynxos${UNAME_RELEASE}
0063a823 1171 exit ;;
6599da04
JM
1172 SM[BE]S:UNIX_SV:*:*)
1173 echo mips-dde-sysv${UNAME_RELEASE}
0063a823 1174 exit ;;
b1345c72
BE
1175 RM*:ReliantUNIX-*:*:*)
1176 echo mips-sni-sysv4
0063a823 1177 exit ;;
6599da04
JM
1178 RM*:SINIX-*:*:*)
1179 echo mips-sni-sysv4
0063a823 1180 exit ;;
6599da04
JM
1181 *:SINIX-*:*:*)
1182 if uname -p 2>/dev/null >/dev/null ; then
1183 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1184 echo ${UNAME_MACHINE}-sni-sysv4
1185 else
1186 echo ns32k-sni-sysv
1187 fi
0063a823 1188 exit ;;
f6084f99
ZW
1189 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1190 # says <Richard.M.Bartel@ccMail.Census.GOV>
6599da04 1191 echo i586-unisys-sysv4
0063a823 1192 exit ;;
6599da04
JM
1193 *:UNIX_System_V:4*:FTX*)
1194 # From Gerald Hewes <hewes@openmarket.com>.
1195 # How about differentiating between stratus architectures? -djm
1196 echo hppa1.1-stratus-sysv4
0063a823 1197 exit ;;
6599da04
JM
1198 *:*:*:FTX*)
1199 # From seanf@swdc.stratus.com.
1200 echo i860-stratus-sysv4
0063a823
KC
1201 exit ;;
1202 i*86:VOS:*:*)
1203 # From Paul.Green@stratus.com.
1204 echo ${UNAME_MACHINE}-stratus-vos
1205 exit ;;
f6084f99
ZW
1206 *:VOS:*:*)
1207 # From Paul.Green@stratus.com.
1208 echo hppa1.1-stratus-vos
0063a823 1209 exit ;;
6599da04
JM
1210 mc68*:A/UX:*:*)
1211 echo m68k-apple-aux${UNAME_RELEASE}
0063a823 1212 exit ;;
05d52d78 1213 news*:NEWS-OS:6*:*)
6599da04 1214 echo mips-sony-newsos6
0063a823 1215 exit ;;
51ccbd8d 1216 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
6599da04
JM
1217 if [ -d /usr/nec ]; then
1218 echo mips-nec-sysv${UNAME_RELEASE}
1219 else
1220 echo mips-unknown-sysv${UNAME_RELEASE}
1221 fi
0063a823 1222 exit ;;
baf55877
FF
1223 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1224 echo powerpc-be-beos
0063a823 1225 exit ;;
baf55877
FF
1226 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1227 echo powerpc-apple-beos
0063a823 1228 exit ;;
1b409d25
ILT
1229 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1230 echo i586-pc-beos
0063a823 1231 exit ;;
954910ef
BE
1232 BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1233 echo i586-pc-haiku
1234 exit ;;
b1345c72
BE
1235 SX-4:SUPER-UX:*:*)
1236 echo sx4-nec-superux${UNAME_RELEASE}
0063a823 1237 exit ;;
b1345c72
BE
1238 SX-5:SUPER-UX:*:*)
1239 echo sx5-nec-superux${UNAME_RELEASE}
0063a823 1240 exit ;;
5ce6f47b
EC
1241 SX-6:SUPER-UX:*:*)
1242 echo sx6-nec-superux${UNAME_RELEASE}
0063a823 1243 exit ;;
9b6f37a0
BE
1244 SX-7:SUPER-UX:*:*)
1245 echo sx7-nec-superux${UNAME_RELEASE}
1246 exit ;;
1247 SX-8:SUPER-UX:*:*)
1248 echo sx8-nec-superux${UNAME_RELEASE}
1249 exit ;;
a894d2c3
BE
1250 SX-8R:SUPER-UX:*:*)
1251 echo sx8r-nec-superux${UNAME_RELEASE}
1252 exit ;;
b1345c72
BE
1253 Power*:Rhapsody:*:*)
1254 echo powerpc-apple-rhapsody${UNAME_RELEASE}
0063a823 1255 exit ;;
b1345c72
BE
1256 *:Rhapsody:*:*)
1257 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
0063a823 1258 exit ;;
ef0b4ef8 1259 *:Darwin:*:*)
fc4d0e82
NC
1260 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1261 case $UNAME_PROCESSOR in
fc4d0e82 1262 unknown) UNAME_PROCESSOR=powerpc ;;
ccf9f10c
RS
1263 esac
1264 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
0063a823 1265 exit ;;
ef0b4ef8 1266 *:procnto*:*:* | *:QNX:[0123456789]*:*)
4434687a
MM
1267 UNAME_PROCESSOR=`uname -p`
1268 if test "$UNAME_PROCESSOR" = "x86"; then
1269 UNAME_PROCESSOR=i386
ef0b4ef8
PT
1270 UNAME_MACHINE=pc
1271 fi
4434687a 1272 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
0063a823 1273 exit ;;
eeda916a 1274 *:QNX:*:4*)
ef0b4ef8 1275 echo i386-pc-qnx
0063a823
KC
1276 exit ;;
1277 NSE-?:NONSTOP_KERNEL:*:*)
1278 echo nse-tandem-nsk${UNAME_RELEASE}
1279 exit ;;
a7ca14fc 1280 NSR-?:NONSTOP_KERNEL:*:*)
ef0b4ef8 1281 echo nsr-tandem-nsk${UNAME_RELEASE}
0063a823 1282 exit ;;
ae3ca0a9
PE
1283 *:NonStop-UX:*:*)
1284 echo mips-compaq-nonstopux
0063a823 1285 exit ;;
ef0b4ef8
PT
1286 BS2000:POSIX*:*:*)
1287 echo bs2000-siemens-sysv
0063a823 1288 exit ;;
ef0b4ef8
PT
1289 DS/*:UNIX_System_V:*:*)
1290 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
0063a823 1291 exit ;;
cb011248
FS
1292 *:Plan9:*:*)
1293 # "uname -m" is not consistent, so use $cputype instead. 386
1294 # is converted to i386 for consistency with other x86
1295 # operating systems.
1296 if test "$cputype" = "386"; then
1297 UNAME_MACHINE=i386
1298 else
1299 UNAME_MACHINE="$cputype"
1300 fi
1301 echo ${UNAME_MACHINE}-unknown-plan9
0063a823 1302 exit ;;
ae3ca0a9
PE
1303 *:TOPS-10:*:*)
1304 echo pdp10-unknown-tops10
0063a823 1305 exit ;;
ae3ca0a9
PE
1306 *:TENEX:*:*)
1307 echo pdp10-unknown-tenex
0063a823 1308 exit ;;
ae3ca0a9
PE
1309 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1310 echo pdp10-dec-tops20
0063a823 1311 exit ;;
ae3ca0a9
PE
1312 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1313 echo pdp10-xkl-tops20
0063a823 1314 exit ;;
ae3ca0a9
PE
1315 *:TOPS-20:*:*)
1316 echo pdp10-unknown-tops20
0063a823 1317 exit ;;
ae3ca0a9
PE
1318 *:ITS:*:*)
1319 echo pdp10-unknown-its
0063a823 1320 exit ;;
26db814a
BI
1321 SEI:*:*:SEIUX)
1322 echo mips-sei-seiux${UNAME_RELEASE}
0063a823 1323 exit ;;
a7ca14fc
AC
1324 *:DragonFly:*:*)
1325 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
0063a823 1326 exit ;;
fc4d0e82
NC
1327 *:*VMS:*:*)
1328 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1329 case "${UNAME_MACHINE}" in
0063a823
KC
1330 A*) echo alpha-dec-vms ; exit ;;
1331 I*) echo ia64-dec-vms ; exit ;;
1332 V*) echo vax-dec-vms ; exit ;;
9587be8a
KC
1333 esac ;;
1334 *:XENIX:*:SysV)
1335 echo i386-pc-xenix
0063a823
KC
1336 exit ;;
1337 i*86:skyos:*:*)
1338 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1339 exit ;;
8d1171cb
PB
1340 i*86:rdos:*:*)
1341 echo ${UNAME_MACHINE}-pc-rdos
1342 exit ;;
6599da04
JM
1343esac
1344
1345#echo '(No uname command or uname output not recognized.)' 1>&2
1346#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1347
dd3a88c9 1348eval $set_cc_for_build
b1345c72 1349cat >$dummy.c <<EOF
6599da04
JM
1350#ifdef _SEQUENT_
1351# include <sys/types.h>
1352# include <sys/utsname.h>
1353#endif
1354main ()
1355{
1356#if defined (sony)
1357#if defined (MIPSEB)
1358 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1359 I don't know.... */
1360 printf ("mips-sony-bsd\n"); exit (0);
1361#else
1362#include <sys/param.h>
1363 printf ("m68k-sony-newsos%s\n",
1364#ifdef NEWSOS4
1365 "4"
1366#else
1367 ""
1368#endif
1369 ); exit (0);
1370#endif
1371#endif
1372
1373#if defined (__arm) && defined (__acorn) && defined (__unix)
0063a823 1374 printf ("arm-acorn-riscix\n"); exit (0);
6599da04
JM
1375#endif
1376
1377#if defined (hp300) && !defined (hpux)
1378 printf ("m68k-hp-bsd\n"); exit (0);
1379#endif
1380
1381#if defined (NeXT)
1382#if !defined (__ARCHITECTURE__)
1383#define __ARCHITECTURE__ "m68k"
1384#endif
1385 int version;
1386 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
b1345c72
BE
1387 if (version < 4)
1388 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1389 else
1390 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
6599da04
JM
1391 exit (0);
1392#endif
1393
1394#if defined (MULTIMAX) || defined (n16)
1395#if defined (UMAXV)
1396 printf ("ns32k-encore-sysv\n"); exit (0);
1397#else
1398#if defined (CMU)
1399 printf ("ns32k-encore-mach\n"); exit (0);
1400#else
1401 printf ("ns32k-encore-bsd\n"); exit (0);
1402#endif
1403#endif
1404#endif
1405
1406#if defined (__386BSD__)
1407 printf ("i386-pc-bsd\n"); exit (0);
1408#endif
1409
1410#if defined (sequent)
1411#if defined (i386)
1412 printf ("i386-sequent-dynix\n"); exit (0);
1413#endif
1414#if defined (ns32000)
1415 printf ("ns32k-sequent-dynix\n"); exit (0);
1416#endif
1417#endif
1418
1419#if defined (_SEQUENT_)
1420 struct utsname un;
1421
1422 uname(&un);
1423
1424 if (strncmp(un.version, "V2", 2) == 0) {
1425 printf ("i386-sequent-ptx2\n"); exit (0);
1426 }
1427 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1428 printf ("i386-sequent-ptx1\n"); exit (0);
1429 }
1430 printf ("i386-sequent-ptx\n"); exit (0);
1431
1432#endif
1433
1434#if defined (vax)
ae3ca0a9
PE
1435# if !defined (ultrix)
1436# include <sys/param.h>
1437# if defined (BSD)
1438# if BSD == 43
1439 printf ("vax-dec-bsd4.3\n"); exit (0);
1440# else
1441# if BSD == 199006
1442 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1443# else
1444 printf ("vax-dec-bsd\n"); exit (0);
1445# endif
1446# endif
1447# else
1448 printf ("vax-dec-bsd\n"); exit (0);
1449# endif
1450# else
1451 printf ("vax-dec-ultrix\n"); exit (0);
1452# endif
6599da04
JM
1453#endif
1454
1455#if defined (alliant) && defined (i860)
1456 printf ("i860-alliant-bsd\n"); exit (0);
1457#endif
1458
1459 exit (1);
1460}
1461EOF
1462
0063a823
KC
1463$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1464 { echo "$SYSTEM_NAME"; exit; }
6599da04
JM
1465
1466# Apollos put the system type in the environment.
1467
0063a823 1468test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
6599da04
JM
1469
1470# Convex versions that predate uname can use getsysinfo(1)
1471
1472if [ -x /usr/convex/getsysinfo ]
1473then
1474 case `getsysinfo -f cpu_type` in
1475 c1*)
1476 echo c1-convex-bsd
0063a823 1477 exit ;;
6599da04
JM
1478 c2*)
1479 if getsysinfo -f scalar_acc
1480 then echo c32-convex-bsd
1481 else echo c2-convex-bsd
1482 fi
0063a823 1483 exit ;;
6599da04
JM
1484 c34*)
1485 echo c34-convex-bsd
0063a823 1486 exit ;;
6599da04
JM
1487 c38*)
1488 echo c38-convex-bsd
0063a823 1489 exit ;;
6599da04
JM
1490 c4*)
1491 echo c4-convex-bsd
0063a823 1492 exit ;;
6599da04
JM
1493 esac
1494fi
1495
ef0b4ef8
PT
1496cat >&2 <<EOF
1497$0: unable to guess system type
1498
ae3ca0a9
PE
1499This script, last modified $timestamp, has failed to recognize
1500the operating system you are using. It is advised that you
1501download the most up to date version of the config scripts from
ef0b4ef8 1502
3ca06a68 1503 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
0063a823 1504and
3ca06a68 1505 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
ef0b4ef8
PT
1506
1507If the version you run ($0) is already up to date, please
1508send the following data and any information you think might be
1509pertinent to <config-patches@gnu.org> in order to provide the needed
1510information to handle your system.
1511
ae3ca0a9 1512config.guess timestamp = $timestamp
ef0b4ef8
PT
1513
1514uname -m = `(uname -m) 2>/dev/null || echo unknown`
1515uname -r = `(uname -r) 2>/dev/null || echo unknown`
1516uname -s = `(uname -s) 2>/dev/null || echo unknown`
1517uname -v = `(uname -v) 2>/dev/null || echo unknown`
1518
1519/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1520/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1521
1522hostinfo = `(hostinfo) 2>/dev/null`
1523/bin/universe = `(/bin/universe) 2>/dev/null`
1524/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1525/bin/arch = `(/bin/arch) 2>/dev/null`
1526/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1527/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1528
1529UNAME_MACHINE = ${UNAME_MACHINE}
1530UNAME_RELEASE = ${UNAME_RELEASE}
1531UNAME_SYSTEM = ${UNAME_SYSTEM}
1532UNAME_VERSION = ${UNAME_VERSION}
1533EOF
6599da04
JM
1534
1535exit 1
ef0b4ef8
PT
1536
1537# Local variables:
1538# eval: (add-hook 'write-file-hooks 'time-stamp)
ae3ca0a9 1539# time-stamp-start: "timestamp='"
ef0b4ef8
PT
1540# time-stamp-format: "%:y-%02m-%02d"
1541# time-stamp-end: "'"
1542# End: