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