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