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