Better error message on missing files.
[bpt/emacs.git] / config.guess
CommitLineData
86505919 1#! /bin/sh
764954ef 2# Attempt to guess a canonical system name.
8ca7e0f1
DN
3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
5# Free Software Foundation, Inc.
40583571 6
8ca7e0f1 7timestamp='2008-01-08'
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
4e405419
PE
30# Originally written by Per Bothner <per@bothner.com>.
31# Please send patches to <config-patches@gnu.org>. Submit a context
32# diff and a properly formatted ChangeLog 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
RM
37#
38# The plan is that this can be called by configure scripts if you
4e405419 39# don't specify an explicit build system type.
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 \
173 | grep __ELF__ >/dev/null
174 then
175 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
176 # Return netbsd for either. FIX?
177 os=netbsd
178 else
179 os=netbsdelf
180 fi
181 ;;
182 *)
183 os=netbsd
184 ;;
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 ;;
2d67f1e9
RK
327 sun4H:SunOS:5.*:*)
328 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
c9ac21eb 329 exit ;;
d4d94b76 330 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
8760d5df 331 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
c9ac21eb 332 exit ;;
8ca7e0f1 333 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
0f419363 334 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
c9ac21eb 335 exit ;;
8760d5df
JB
336 sun4*:SunOS:6*:*)
337 # According to config.sub, this is the proper way to canonicalize
338 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
339 # it's likely to be more like Solaris than SunOS4.
340 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
c9ac21eb 341 exit ;;
f629b14c 342 sun4*:SunOS:*:*)
df6cf70c
RK
343 case "`/usr/bin/arch -k`" in
344 Series*|S4*)
345 UNAME_RELEASE=`uname -v`
346 ;;
347 esac
bbc3f190
PB
348 # Japanese Language versions have a version number like `4.1.3-JL'.
349 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
c9ac21eb 350 exit ;;
f629b14c
RM
351 sun3*:SunOS:*:*)
352 echo m68k-sun-sunos${UNAME_RELEASE}
c9ac21eb 353 exit ;;
feb1ff7f 354 sun*:*:4.2BSD:*)
4e405419 355 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
feb1ff7f 356 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
24902ecd 357 case "`/bin/arch`" in
feb1ff7f
PB
358 sun3)
359 echo m68k-sun-sunos${UNAME_RELEASE}
360 ;;
361 sun4)
362 echo sparc-sun-sunos${UNAME_RELEASE}
363 ;;
364 esac
c9ac21eb 365 exit ;;
d4d94b76
PB
366 aushp:SunOS:*:*)
367 echo sparc-auspex-sunos${UNAME_RELEASE}
c9ac21eb 368 exit ;;
68f39654
BE
369 # The situation for MiNT is a little confusing. The machine name
370 # can be virtually everything (everything which is not
40583571 371 # "atarist" or "atariste" at least should have a processor
68f39654
BE
372 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
373 # to the lowercase version "mint" (or "freemint"). Finally
374 # the system name "TOS" denotes a system which is actually not
375 # MiNT. But MiNT is downward compatible to TOS, so this should
376 # be no problem.
377 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
378 echo m68k-atari-mint${UNAME_RELEASE}
c9ac21eb 379 exit ;;
68f39654
BE
380 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
381 echo m68k-atari-mint${UNAME_RELEASE}
c9ac21eb 382 exit ;;
68f39654
BE
383 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
384 echo m68k-atari-mint${UNAME_RELEASE}
c9ac21eb 385 exit ;;
68f39654
BE
386 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
387 echo m68k-milan-mint${UNAME_RELEASE}
c9ac21eb 388 exit ;;
68f39654
BE
389 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
390 echo m68k-hades-mint${UNAME_RELEASE}
c9ac21eb 391 exit ;;
68f39654
BE
392 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
393 echo m68k-unknown-mint${UNAME_RELEASE}
c9ac21eb
PE
394 exit ;;
395 m68k:machten:*:*)
396 echo m68k-apple-machten${UNAME_RELEASE}
397 exit ;;
ec085977
DM
398 powerpc:machten:*:*)
399 echo powerpc-apple-machten${UNAME_RELEASE}
c9ac21eb 400 exit ;;
d4d94b76
PB
401 RISC*:Mach:*:*)
402 echo mips-dec-mach_bsd4.3
c9ac21eb 403 exit ;;
f629b14c
RM
404 RISC*:ULTRIX:*:*)
405 echo mips-dec-ultrix${UNAME_RELEASE}
c9ac21eb 406 exit ;;
f629b14c
RM
407 VAX*:ULTRIX*:*:*)
408 echo vax-dec-ultrix${UNAME_RELEASE}
c9ac21eb 409 exit ;;
68f39654 410 2020:CLIX:*:* | 2430:CLIX:*:*)
79d0f4da 411 echo clipper-intergraph-clix${UNAME_RELEASE}
c9ac21eb 412 exit ;;
ed8a2c3a 413 mips:*:*:UMIPS | mips:*:*:RISCos)
4e405419 414 eval $set_cc_for_build
72e8143c
BE
415 sed 's/^ //' << EOF >$dummy.c
416#ifdef __cplusplus
3a27fa96 417#include <stdio.h> /* for printf() prototype */
72e8143c
BE
418 int main (int argc, char *argv[]) {
419#else
420 int main (argc, argv) int argc; char *argv[]; {
421#endif
ed8a2c3a
PB
422 #if defined (host_mips) && defined (MIPSEB)
423 #if defined (SYSTYPE_SYSV)
424 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
425 #endif
426 #if defined (SYSTYPE_SVR4)
427 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
428 #endif
429 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
430 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
431 #endif
432 #endif
433 exit (-1);
434 }
435EOF
c9ac21eb
PE
436 $CC_FOR_BUILD -o $dummy $dummy.c &&
437 dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
438 SYSTEM_NAME=`$dummy $dummyarg` &&
439 { echo "$SYSTEM_NAME"; exit; }
46506037 440 echo mips-mips-riscos${UNAME_RELEASE}
c9ac21eb 441 exit ;;
4e405419
PE
442 Motorola:PowerMAX_OS:*:*)
443 echo powerpc-motorola-powermax
c9ac21eb 444 exit ;;
8c95f450
JB
445 Motorola:*:4.3:PL8-*)
446 echo powerpc-harris-powermax
c9ac21eb 447 exit ;;
8c95f450 448 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
4e405419 449 echo powerpc-harris-powermax
c9ac21eb 450 exit ;;
7d826aa9
PB
451 Night_Hawk:Power_UNIX:*:*)
452 echo powerpc-harris-powerunix
c9ac21eb 453 exit ;;
cb94a3da
PB
454 m88k:CX/UX:7*:*)
455 echo m88k-harris-cxux7
c9ac21eb 456 exit ;;
f629b14c
RM
457 m88k:*:4*:R4*)
458 echo m88k-motorola-sysv4
c9ac21eb 459 exit ;;
f629b14c
RM
460 m88k:*:3*:R3*)
461 echo m88k-motorola-sysv3
c9ac21eb 462 exit ;;
f3ec183e 463 AViiON:dgux:*:*)
627bd32d 464 # DG/UX returns AViiON for all architectures
8380f562 465 UNAME_PROCESSOR=`/usr/bin/uname -p`
40583571 466 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
3a27fa96
GM
467 then
468 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
469 [ ${TARGET_BINARY_INTERFACE}x = x ]
470 then
985a7a04 471 echo m88k-dg-dgux${UNAME_RELEASE}
3a27fa96 472 else
985a7a04 473 echo m88k-dg-dguxbcs${UNAME_RELEASE}
3a27fa96
GM
474 fi
475 else
476 echo i586-dg-dgux${UNAME_RELEASE}
985a7a04 477 fi
c9ac21eb 478 exit ;;
d18c3d0d
RK
479 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
480 echo m88k-dolphin-sysv3
c9ac21eb 481 exit ;;
f3ec183e
RK
482 M88*:*:R3*:*)
483 # Delta 88k system running SVR3
484 echo m88k-motorola-sysv3
c9ac21eb 485 exit ;;
f3ec183e
RK
486 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
487 echo m88k-tektronix-sysv3
c9ac21eb 488 exit ;;
f3ec183e
RK
489 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
490 echo m68k-tektronix-bsd
c9ac21eb 491 exit ;;
d2956936
JW
492 *:IRIX*:*:*)
493 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
c9ac21eb 494 exit ;;
dd1aafd0 495 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
c9ac21eb
PE
496 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
497 exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
4e405419 498 i*86:AIX:*:*)
f629b14c 499 echo i386-ibm-aix
c9ac21eb 500 exit ;;
4e405419
PE
501 ia64:AIX:*:*)
502 if [ -x /usr/bin/oslevel ] ; then
503 IBM_REV=`/usr/bin/oslevel`
504 else
505 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
506 fi
507 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
c9ac21eb 508 exit ;;
f629b14c 509 *:AIX:2:3)
f3ec183e 510 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
4e405419 511 eval $set_cc_for_build
72e8143c 512 sed 's/^ //' << EOF >$dummy.c
627e759c
RK
513 #include <sys/systemcfg.h>
514
515 main()
516 {
517 if (!__power_pc())
518 exit(1);
519 puts("powerpc-ibm-aix3.2.5");
520 exit(0);
521 }
522EOF
c9ac21eb
PE
523 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
524 then
525 echo "$SYSTEM_NAME"
526 else
527 echo rs6000-ibm-aix3.2.5
528 fi
f3ec183e
RK
529 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
530 echo rs6000-ibm-aix3.2.4
531 else
532 echo rs6000-ibm-aix3.2
533 fi
c9ac21eb 534 exit ;;
8ca7e0f1 535 *:AIX:*:[456])
4e405419
PE
536 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
537 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
8593feb6 538 IBM_ARCH=rs6000
a6fd3875 539 else
8593feb6 540 IBM_ARCH=powerpc
a6fd3875 541 fi
141155b8
RK
542 if [ -x /usr/bin/oslevel ] ; then
543 IBM_REV=`/usr/bin/oslevel`
8593feb6 544 else
4e405419 545 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
8593feb6
RK
546 fi
547 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
c9ac21eb 548 exit ;;
f629b14c
RM
549 *:AIX:*:*)
550 echo rs6000-ibm-aix
c9ac21eb 551 exit ;;
b0e4a7ad
RK
552 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
553 echo romp-ibm-bsd4.4
c9ac21eb 554 exit ;;
3a27fa96 555 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
4bc12675 556 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
c9ac21eb 557 exit ;; # report: romp-ibm BSD 4.3
f629b14c
RM
558 *:BOSX:*:*)
559 echo rs6000-bull-bosx
c9ac21eb 560 exit ;;
f3ec183e
RK
561 DPX/2?00:B.O.S.:*:*)
562 echo m68k-bull-sysv3
c9ac21eb 563 exit ;;
f3ec183e
RK
564 9000/[34]??:4.3bsd:1.*:*)
565 echo m68k-hp-bsd
c9ac21eb 566 exit ;;
f3ec183e
RK
567 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
568 echo m68k-hp-bsd4.4
c9ac21eb 569 exit ;;
83cc942a 570 9000/[34678]??:HP-UX:*:*)
4e405419 571 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
f3ec183e
RK
572 case "${UNAME_MACHINE}" in
573 9000/31? ) HP_ARCH=m68000 ;;
574 9000/[34]?? ) HP_ARCH=m68k ;;
c3b4b83f 575 9000/[678][0-9][0-9])
4e405419
PE
576 if [ -x /usr/bin/getconf ]; then
577 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
578 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
579 case "${sc_cpu_version}" in
580 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
581 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
582 532) # CPU_PA_RISC2_0
583 case "${sc_kernel_bits}" in
584 32) HP_ARCH="hppa2.0n" ;;
585 64) HP_ARCH="hppa2.0w" ;;
586 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
587 esac ;;
588 esac
589 fi
590 if [ "${HP_ARCH}" = "" ]; then
591 eval $set_cc_for_build
592 sed 's/^ //' << EOF >$dummy.c
40583571
DL
593
594 #define _HPUX_SOURCE
05d5ca25
RS
595 #include <stdlib.h>
596 #include <unistd.h>
72e8143c 597
05d5ca25
RS
598 int main ()
599 {
600 #if defined(_SC_KERNEL_BITS)
601 long bits = sysconf(_SC_KERNEL_BITS);
72e8143c 602 #endif
05d5ca25 603 long cpu = sysconf (_SC_CPU_VERSION);
72e8143c
BE
604
605 switch (cpu)
05d5ca25
RS
606 {
607 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
608 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
72e8143c 609 case CPU_PA_RISC2_0:
05d5ca25 610 #if defined(_SC_KERNEL_BITS)
72e8143c 611 switch (bits)
05d5ca25
RS
612 {
613 case 64: puts ("hppa2.0w"); break;
614 case 32: puts ("hppa2.0n"); break;
615 default: puts ("hppa2.0"); break;
616 } break;
617 #else /* !defined(_SC_KERNEL_BITS) */
618 puts ("hppa2.0"); break;
72e8143c 619 #endif
05d5ca25
RS
620 default: puts ("hppa1.0"); break;
621 }
622 exit (0);
623 }
624EOF
8c95f450 625 (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
c9ac21eb 626 test -z "$HP_ARCH" && HP_ARCH=hppa
4e405419 627 fi ;;
f3ec183e 628 esac
c9ac21eb
PE
629 if [ ${HP_ARCH} = "hppa2.0w" ]
630 then
631 eval $set_cc_for_build
632
633 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
634 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
635 # generating 64-bit code. GNU and HP use different nomenclature:
636 #
637 # $ CC_FOR_BUILD=cc ./config.guess
638 # => hppa2.0w-hp-hpux11.23
639 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
640 # => hppa64-hp-hpux11.23
641
642 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
643 grep __LP64__ >/dev/null
644 then
645 HP_ARCH="hppa2.0w"
646 else
647 HP_ARCH="hppa64"
648 fi
649 fi
f3ec183e 650 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
c9ac21eb 651 exit ;;
4e405419
PE
652 ia64:HP-UX:*:*)
653 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
654 echo ia64-hp-hpux${HPUX_REV}
c9ac21eb 655 exit ;;
f3ec183e 656 3050*:HI-UX:*:*)
4e405419 657 eval $set_cc_for_build
72e8143c 658 sed 's/^ //' << EOF >$dummy.c
f3ec183e
RK
659 #include <unistd.h>
660 int
661 main ()
662 {
663 long cpu = sysconf (_SC_CPU_VERSION);
cb94a3da
PB
664 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
665 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
666 results, however. */
667 if (CPU_IS_PA_RISC (cpu))
f3ec183e
RK
668 {
669 switch (cpu)
670 {
671 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
672 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
673 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
674 default: puts ("hppa-hitachi-hiuxwe2"); break;
675 }
676 }
cb94a3da
PB
677 else if (CPU_IS_HP_MC68K (cpu))
678 puts ("m68k-hitachi-hiuxwe2");
f3ec183e
RK
679 else puts ("unknown-hitachi-hiuxwe2");
680 exit (0);
681 }
682EOF
c9ac21eb
PE
683 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
684 { echo "$SYSTEM_NAME"; exit; }
f3ec183e 685 echo unknown-hitachi-hiuxwe2
c9ac21eb 686 exit ;;
7c36a59a 687 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
8760d5df 688 echo hppa1.1-hp-bsd
c9ac21eb 689 exit ;;
8760d5df
JB
690 9000/8??:4.3bsd:*:*)
691 echo hppa1.0-hp-bsd
c9ac21eb 692 exit ;;
4e405419 693 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
1e58d7cc 694 echo hppa1.0-hp-mpeix
c9ac21eb 695 exit ;;
7c36a59a 696 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
cb94a3da 697 echo hppa1.1-hp-osf
c9ac21eb 698 exit ;;
cb94a3da
PB
699 hp8??:OSF1:*:*)
700 echo hppa1.0-hp-osf
c9ac21eb 701 exit ;;
4e405419 702 i*86:OSF1:*:*)
d4d94b76
PB
703 if [ -x /usr/sbin/sysversion ] ; then
704 echo ${UNAME_MACHINE}-unknown-osf1mk
705 else
706 echo ${UNAME_MACHINE}-unknown-osf1
707 fi
c9ac21eb 708 exit ;;
bbe3c2bd
MM
709 parisc*:Lites*:*:*)
710 echo hppa1.1-hp-lites
c9ac21eb 711 exit ;;
7bbba4f2 712 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
f629b14c 713 echo c1-convex-bsd
c9ac21eb 714 exit ;;
7bbba4f2
CS
715 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
716 if getsysinfo -f scalar_acc
717 then echo c32-convex-bsd
718 else echo c2-convex-bsd
719 fi
c9ac21eb 720 exit ;;
7bbba4f2
CS
721 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
722 echo c34-convex-bsd
c9ac21eb 723 exit ;;
7bbba4f2
CS
724 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
725 echo c38-convex-bsd
c9ac21eb 726 exit ;;
7bbba4f2
CS
727 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
728 echo c4-convex-bsd
c9ac21eb 729 exit ;;
0db66aed 730 CRAY*Y-MP:*:*:*)
4e405419 731 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
c9ac21eb 732 exit ;;
d5801d71
TG
733 CRAY*[A-Z]90:*:*:*)
734 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
9bec625c 735 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
4e405419
PE
736 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
737 -e 's/\.[^.]*$/.X/'
c9ac21eb 738 exit ;;
5d4da19c 739 CRAY*TS:*:*:*)
3a27fa96 740 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
c9ac21eb 741 exit ;;
4e405419
PE
742 CRAY*T3E:*:*:*)
743 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
c9ac21eb 744 exit ;;
3a27fa96 745 CRAY*SV1:*:*:*)
40583571 746 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
c9ac21eb
PE
747 exit ;;
748 *:UNICOS/mp:*:*)
749 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
750 exit ;;
4e405419
PE
751 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
752 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
c3b4b83f 753 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
d4d94b76 754 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
4e405419 755 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
c9ac21eb
PE
756 exit ;;
757 5000:UNIX_System_V:4.*:*)
758 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
759 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
760 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
761 exit ;;
4e405419 762 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
0f419363 763 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
c9ac21eb 764 exit ;;
c3b4b83f
BE
765 sparc*:BSD/OS:*:*)
766 echo sparc-unknown-bsdi${UNAME_RELEASE}
c9ac21eb 767 exit ;;
72e8143c
BE
768 *:BSD/OS:*:*)
769 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
c9ac21eb 770 exit ;;
bc7c9d8c 771 *:FreeBSD:*:*)
88ec8c53
AS
772 case ${UNAME_MACHINE} in
773 pc98)
774 echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
a12246ad
DN
775 amd64)
776 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
88ec8c53
AS
777 *)
778 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
779 esac
c9ac21eb 780 exit ;;
b4991b76 781 i*:CYGWIN*:*)
db31fbb2 782 echo ${UNAME_MACHINE}-pc-cygwin
c9ac21eb 783 exit ;;
a12246ad 784 *:MINGW*:*)
93aca356 785 echo ${UNAME_MACHINE}-pc-mingw32
c9ac21eb
PE
786 exit ;;
787 i*:windows32*:*)
788 # uname -m includes "-pc" on this system.
789 echo ${UNAME_MACHINE}-mingw32
790 exit ;;
40583571
DL
791 i*:PW*:*)
792 echo ${UNAME_MACHINE}-pc-pw32
c9ac21eb 793 exit ;;
8ca7e0f1
DN
794 *:Interix*:[3456]*)
795 case ${UNAME_MACHINE} in
796 x86)
797 echo i586-pc-interix${UNAME_RELEASE}
798 exit ;;
799 EM64T | authenticamd)
800 echo x86_64-unknown-interix${UNAME_RELEASE}
801 exit ;;
802 IA64)
803 echo ia64-unknown-interix${UNAME_RELEASE}
804 exit ;;
805 esac ;;
8c95f450
JB
806 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
807 echo i${UNAME_MACHINE}-pc-mks
c9ac21eb 808 exit ;;
c3b4b83f
BE
809 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
810 # How do we know it's Interix rather than the generic POSIX subsystem?
811 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
812 # UNAME_MACHINE based on the output of uname instead of i386?
c9ac21eb
PE
813 echo i586-pc-interix
814 exit ;;
c3b4b83f
BE
815 i*:UWIN*:*)
816 echo ${UNAME_MACHINE}-pc-uwin
c9ac21eb
PE
817 exit ;;
818 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
819 echo x86_64-unknown-cygwin
820 exit ;;
b4991b76 821 p*:CYGWIN*:*)
db31fbb2 822 echo powerpcle-unknown-cygwin
c9ac21eb 823 exit ;;
24509d9c
MM
824 prep*:SunOS:5.*:*)
825 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
c9ac21eb 826 exit ;;
5bd7b591 827 *:GNU:*:*)
c9ac21eb 828 # the GNU system
9bdc0764 829 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
c9ac21eb
PE
830 exit ;;
831 *:GNU/*:*:*)
832 # other systems with GNU libc and userland
833 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
834 exit ;;
40583571
DL
835 i*86:Minix:*:*)
836 echo ${UNAME_MACHINE}-pc-minix
c9ac21eb 837 exit ;;
4e405419 838 arm*:Linux:*:*)
8ca7e0f1
DN
839 eval $set_cc_for_build
840 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
841 | grep -q __ARM_EABI__
842 then
843 echo ${UNAME_MACHINE}-unknown-linux-gnu
844 else
845 echo ${UNAME_MACHINE}-unknown-linux-gnueabi
846 fi
c9ac21eb 847 exit ;;
a12246ad
DN
848 avr32*:Linux:*:*)
849 echo ${UNAME_MACHINE}-unknown-linux-gnu
850 exit ;;
c9ac21eb
PE
851 cris:Linux:*:*)
852 echo cris-axis-linux-gnu
853 exit ;;
854 crisv32:Linux:*:*)
855 echo crisv32-axis-linux-gnu
856 exit ;;
857 frv:Linux:*:*)
858 echo frv-unknown-linux-gnu
859 exit ;;
4e405419
PE
860 ia64:Linux:*:*)
861 echo ${UNAME_MACHINE}-unknown-linux-gnu
c9ac21eb
PE
862 exit ;;
863 m32r*:Linux:*:*)
864 echo ${UNAME_MACHINE}-unknown-linux-gnu
865 exit ;;
4e405419
PE
866 m68*:Linux:*:*)
867 echo ${UNAME_MACHINE}-unknown-linux-gnu
c9ac21eb 868 exit ;;
4e405419
PE
869 mips:Linux:*:*)
870 eval $set_cc_for_build
871 sed 's/^ //' << EOF >$dummy.c
872 #undef CPU
873 #undef mips
874 #undef mipsel
875 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
876 CPU=mipsel
877 #else
878 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
879 CPU=mips
880 #else
881 CPU=
882 #endif
883 #endif
884EOF
a12246ad
DN
885 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
886 /^CPU/{
887 s: ::g
888 p
889 }'`"
c9ac21eb 890 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
4e405419 891 ;;
c9ac21eb
PE
892 mips64:Linux:*:*)
893 eval $set_cc_for_build
894 sed 's/^ //' << EOF >$dummy.c
895 #undef CPU
896 #undef mips64
897 #undef mips64el
898 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
899 CPU=mips64el
900 #else
901 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
902 CPU=mips64
903 #else
904 CPU=
905 #endif
906 #endif
907EOF
a12246ad
DN
908 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
909 /^CPU/{
910 s: ::g
911 p
912 }'`"
c9ac21eb
PE
913 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
914 ;;
915 or32:Linux:*:*)
916 echo or32-unknown-linux-gnu
917 exit ;;
4e405419
PE
918 ppc:Linux:*:*)
919 echo powerpc-unknown-linux-gnu
c9ac21eb 920 exit ;;
4e405419
PE
921 ppc64:Linux:*:*)
922 echo powerpc64-unknown-linux-gnu
c9ac21eb 923 exit ;;
4e405419
PE
924 alpha:Linux:*:*)
925 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
926 EV5) UNAME_MACHINE=alphaev5 ;;
927 EV56) UNAME_MACHINE=alphaev56 ;;
928 PCA56) UNAME_MACHINE=alphapca56 ;;
929 PCA57) UNAME_MACHINE=alphapca56 ;;
930 EV6) UNAME_MACHINE=alphaev6 ;;
931 EV67) UNAME_MACHINE=alphaev67 ;;
932 EV68*) UNAME_MACHINE=alphaev68 ;;
933 esac
934 objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
935 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
936 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
c9ac21eb 937 exit ;;
4e405419
PE
938 parisc:Linux:*:* | hppa:Linux:*:*)
939 # Look for CPU level
940 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
941 PA7*) echo hppa1.1-unknown-linux-gnu ;;
942 PA8*) echo hppa2.0-unknown-linux-gnu ;;
943 *) echo hppa-unknown-linux-gnu ;;
944 esac
c9ac21eb 945 exit ;;
4e405419
PE
946 parisc64:Linux:*:* | hppa64:Linux:*:*)
947 echo hppa64-unknown-linux-gnu
c9ac21eb 948 exit ;;
4e405419
PE
949 s390:Linux:*:* | s390x:Linux:*:*)
950 echo ${UNAME_MACHINE}-ibm-linux
c9ac21eb
PE
951 exit ;;
952 sh64*:Linux:*:*)
953 echo ${UNAME_MACHINE}-unknown-linux-gnu
954 exit ;;
4e405419
PE
955 sh*:Linux:*:*)
956 echo ${UNAME_MACHINE}-unknown-linux-gnu
c9ac21eb 957 exit ;;
4e405419
PE
958 sparc:Linux:*:* | sparc64:Linux:*:*)
959 echo ${UNAME_MACHINE}-unknown-linux-gnu
c9ac21eb 960 exit ;;
88ec8c53
AS
961 vax:Linux:*:*)
962 echo ${UNAME_MACHINE}-dec-linux-gnu
963 exit ;;
4e405419
PE
964 x86_64:Linux:*:*)
965 echo x86_64-unknown-linux-gnu
c9ac21eb 966 exit ;;
8ca7e0f1
DN
967 xtensa*:Linux:*:*)
968 echo ${UNAME_MACHINE}-unknown-linux-gnu
a12246ad 969 exit ;;
4e405419 970 i*86:Linux:*:*)
6e4bd6ae 971 # The BFD linker knows what the default object file format is, so
68f39654
BE
972 # first see if it will tell us. cd to the root directory to prevent
973 # problems with other programs or directories called `ld' in the path.
4e405419
PE
974 # Set LC_ALL=C to ensure ld outputs messages in English.
975 ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
976 | sed -ne '/supported targets:/!d
36e5df1b 977 s/[ ][ ]*/ /g
4e405419 978 s/.*supported targets: *//
36e5df1b
RS
979 s/ .*//
980 p'`
4e405419
PE
981 case "$ld_supported_targets" in
982 elf32-i386)
40583571
DL
983 TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
984 ;;
4e405419
PE
985 a.out-i386-linux)
986 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
c9ac21eb 987 exit ;;
4e405419 988 coff-i386)
3a27fa96 989 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
c9ac21eb 990 exit ;;
4e405419
PE
991 "")
992 # Either a pre-BFD a.out linker (linux-gnuoldld) or
993 # one that does not give us useful --help.
994 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
c9ac21eb 995 exit ;;
36e5df1b 996 esac
4e405419
PE
997 # Determine whether the default compiler is a.out or elf
998 eval $set_cc_for_build
999 sed 's/^ //' << EOF >$dummy.c
1000 #include <features.h>
1001 #ifdef __ELF__
1002 # ifdef __GLIBC__
1003 # if __GLIBC__ >= 2
1004 LIBC=gnu
1005 # else
1006 LIBC=gnulibc1
1007 # endif
1008 # else
1009 LIBC=gnulibc1
1010 # endif
1011 #else
a12246ad 1012 #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
4e405419
PE
1013 LIBC=gnu
1014 #else
1015 LIBC=gnuaout
1016 #endif
1017 #endif
c9ac21eb
PE
1018 #ifdef __dietlibc__
1019 LIBC=dietlibc
1020 #endif
bbe3c2bd 1021EOF
a12246ad
DN
1022 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1023 /^LIBC/{
1024 s: ::g
1025 p
1026 }'`"
c9ac21eb
PE
1027 test x"${LIBC}" != x && {
1028 echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1029 exit
1030 }
1031 test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
4e405419
PE
1032 ;;
1033 i*86:DYNIX/ptx:4*:*)
1034 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1035 # earlier versions are messed up and put the nodename in both
1036 # sysname and nodename.
cb5fbf94 1037 echo i386-sequent-sysv4
c9ac21eb 1038 exit ;;
4e405419 1039 i*86:UNIX_SV:4.2MP:2.*)
469f2168
RS
1040 # Unixware is an offshoot of SVR4, but it has its own version
1041 # number series starting with 2...
1042 # I am not positive that other SVR4 systems won't match this,
1043 # I just have to hope. -- rms.
1044 # Use sysv4.2uw... so that sysv4* matches it.
1045 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
c9ac21eb
PE
1046 exit ;;
1047 i*86:OS/2:*:*)
1048 # If we were able to find `uname', then EMX Unix compatibility
1049 # is probably installed.
1050 echo ${UNAME_MACHINE}-pc-os2-emx
1051 exit ;;
1052 i*86:XTS-300:*:STOP)
1053 echo ${UNAME_MACHINE}-unknown-stop
1054 exit ;;
1055 i*86:atheos:*:*)
1056 echo ${UNAME_MACHINE}-unknown-atheos
1057 exit ;;
1058 i*86:syllable:*:*)
1059 echo ${UNAME_MACHINE}-pc-syllable
1060 exit ;;
1061 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1062 echo i386-unknown-lynxos${UNAME_RELEASE}
1063 exit ;;
1064 i*86:*DOS:*:*)
1065 echo ${UNAME_MACHINE}-pc-msdosdjgpp
1066 exit ;;
4e405419 1067 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
3a27fa96 1068 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
8760d5df 1069 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
3a27fa96 1070 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
8760d5df 1071 else
3a27fa96 1072 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
8760d5df 1073 fi
c9ac21eb
PE
1074 exit ;;
1075 i*86:*:5:[678]*)
1076 # UnixWare 7.x, OpenUNIX and OpenServer 6.
4e405419
PE
1077 case `/bin/uname -X | grep "^Machine"` in
1078 *486*) UNAME_MACHINE=i486 ;;
1079 *Pentium) UNAME_MACHINE=i586 ;;
1080 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1081 esac
1082 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
c9ac21eb 1083 exit ;;
4e405419 1084 i*86:*:3.2:*)
e301e82e
RK
1085 if test -f /usr/options/cb.name; then
1086 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
0f419363 1087 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
e301e82e 1088 elif /bin/uname -X 2>/dev/null >/dev/null ; then
8c95f450
JB
1089 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1090 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1091 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
017e0c85 1092 && UNAME_MACHINE=i586
8c95f450 1093 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
c3b4b83f 1094 && UNAME_MACHINE=i686
8c95f450 1095 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
c3b4b83f 1096 && UNAME_MACHINE=i686
0f419363 1097 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
f629b14c 1098 else
0f419363 1099 echo ${UNAME_MACHINE}-pc-sysv32
f3ec183e 1100 fi
c9ac21eb 1101 exit ;;
16c3fe0e 1102 pc:*:*:*)
3a27fa96 1103 # Left here for compatibility:
16c3fe0e
RS
1104 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1105 # the processor, so we play safe by assuming i386.
1106 echo i386-pc-msdosdjgpp
c9ac21eb 1107 exit ;;
cb94a3da 1108 Intel:Mach:3*:*)
0f419363 1109 echo i386-pc-mach3
c9ac21eb 1110 exit ;;
ad7c5ee1
PB
1111 paragon:*:*:*)
1112 echo i860-intel-osf1
c9ac21eb 1113 exit ;;
f3ec183e
RK
1114 i860:*:4.*:*) # i860-SVR4
1115 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1116 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1117 else # Add other i860-SVR4 vendors below as they are discovered.
1118 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
f629b14c 1119 fi
c9ac21eb 1120 exit ;;
f629b14c
RM
1121 mini*:CTIX:SYS*5:*)
1122 # "miniframe"
1123 echo m68010-convergent-sysv
c9ac21eb 1124 exit ;;
8c95f450
JB
1125 mc68k:UNIX:SYSTEM5:3.51m)
1126 echo m68k-convergent-sysv
c9ac21eb 1127 exit ;;
8c95f450
JB
1128 M680?0:D-NIX:5.3:*)
1129 echo m68k-diab-dnix
c9ac21eb
PE
1130 exit ;;
1131 M68*:*:R3V[5678]*:*)
1132 test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1133 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
1134 OS_REL=''
1135 test -r /etc/.relid \
1136 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1137 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
c9ac21eb 1138 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
d4d94b76 1139 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
c9ac21eb 1140 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
4c07cabb 1141 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
d4d94b76 1142 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
c9ac21eb 1143 && { echo i486-ncr-sysv4; exit; } ;;
4e405419 1144 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
dd1aafd0 1145 echo m68k-unknown-lynxos${UNAME_RELEASE}
c9ac21eb 1146 exit ;;
f3ec183e 1147 mc68030:UNIX_System_V:4.*:*)
bc7c9d8c 1148 echo m68k-atari-sysv4
c9ac21eb 1149 exit ;;
dd1aafd0
DM
1150 TSUNAMI:LynxOS:2.*:*)
1151 echo sparc-unknown-lynxos${UNAME_RELEASE}
c9ac21eb 1152 exit ;;
4e405419 1153 rs6000:LynxOS:2.*:*)
dd1aafd0 1154 echo rs6000-unknown-lynxos${UNAME_RELEASE}
c9ac21eb 1155 exit ;;
4e405419
PE
1156 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1157 echo powerpc-unknown-lynxos${UNAME_RELEASE}
c9ac21eb 1158 exit ;;
d4d94b76
PB
1159 SM[BE]S:UNIX_SV:*:*)
1160 echo mips-dde-sysv${UNAME_RELEASE}
c9ac21eb 1161 exit ;;
72e8143c
BE
1162 RM*:ReliantUNIX-*:*:*)
1163 echo mips-sni-sysv4
c9ac21eb 1164 exit ;;
cb94a3da
PB
1165 RM*:SINIX-*:*:*)
1166 echo mips-sni-sysv4
c9ac21eb 1167 exit ;;
cb94a3da
PB
1168 *:SINIX-*:*:*)
1169 if uname -p 2>/dev/null >/dev/null ; then
1170 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1171 echo ${UNAME_MACHINE}-sni-sysv4
1172 else
1173 echo ns32k-sni-sysv
1174 fi
c9ac21eb 1175 exit ;;
4e405419
PE
1176 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1177 # says <Richard.M.Bartel@ccMail.Census.GOV>
c0c0e4bd 1178 echo i586-unisys-sysv4
c9ac21eb 1179 exit ;;
dd1aafd0
DM
1180 *:UNIX_System_V:4*:FTX*)
1181 # From Gerald Hewes <hewes@openmarket.com>.
1182 # How about differentiating between stratus architectures? -djm
1183 echo hppa1.1-stratus-sysv4
c9ac21eb 1184 exit ;;
dd1aafd0
DM
1185 *:*:*:FTX*)
1186 # From seanf@swdc.stratus.com.
1187 echo i860-stratus-sysv4
c9ac21eb
PE
1188 exit ;;
1189 i*86:VOS:*:*)
1190 # From Paul.Green@stratus.com.
1191 echo ${UNAME_MACHINE}-stratus-vos
1192 exit ;;
4e405419
PE
1193 *:VOS:*:*)
1194 # From Paul.Green@stratus.com.
1195 echo hppa1.1-stratus-vos
c9ac21eb 1196 exit ;;
ad3583e4
ILT
1197 mc68*:A/UX:*:*)
1198 echo m68k-apple-aux${UNAME_RELEASE}
c9ac21eb 1199 exit ;;
40583571 1200 news*:NEWS-OS:6*:*)
d3dcea6f 1201 echo mips-sony-newsos6
c9ac21eb 1202 exit ;;
20606274 1203 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
262df1e2
ILT
1204 if [ -d /usr/nec ]; then
1205 echo mips-nec-sysv${UNAME_RELEASE}
1206 else
1207 echo mips-unknown-sysv${UNAME_RELEASE}
1208 fi
c9ac21eb 1209 exit ;;
05b0d692
RS
1210 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1211 echo powerpc-be-beos
c9ac21eb 1212 exit ;;
05b0d692
RS
1213 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1214 echo powerpc-apple-beos
c9ac21eb 1215 exit ;;
05b0d692
RS
1216 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1217 echo i586-pc-beos
c9ac21eb 1218 exit ;;
72e8143c
BE
1219 SX-4:SUPER-UX:*:*)
1220 echo sx4-nec-superux${UNAME_RELEASE}
c9ac21eb 1221 exit ;;
72e8143c
BE
1222 SX-5:SUPER-UX:*:*)
1223 echo sx5-nec-superux${UNAME_RELEASE}
c9ac21eb 1224 exit ;;
8c95f450
JB
1225 SX-6:SUPER-UX:*:*)
1226 echo sx6-nec-superux${UNAME_RELEASE}
c9ac21eb 1227 exit ;;
a12246ad
DN
1228 SX-7:SUPER-UX:*:*)
1229 echo sx7-nec-superux${UNAME_RELEASE}
1230 exit ;;
1231 SX-8:SUPER-UX:*:*)
1232 echo sx8-nec-superux${UNAME_RELEASE}
1233 exit ;;
1234 SX-8R:SUPER-UX:*:*)
1235 echo sx8r-nec-superux${UNAME_RELEASE}
1236 exit ;;
72e8143c
BE
1237 Power*:Rhapsody:*:*)
1238 echo powerpc-apple-rhapsody${UNAME_RELEASE}
c9ac21eb 1239 exit ;;
72e8143c
BE
1240 *:Rhapsody:*:*)
1241 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
c9ac21eb 1242 exit ;;
40583571 1243 *:Darwin:*:*)
c9ac21eb
PE
1244 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1245 case $UNAME_PROCESSOR in
c9ac21eb
PE
1246 unknown) UNAME_PROCESSOR=powerpc ;;
1247 esac
1248 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1249 exit ;;
40583571 1250 *:procnto*:*:* | *:QNX:[0123456789]*:*)
4e405419
PE
1251 UNAME_PROCESSOR=`uname -p`
1252 if test "$UNAME_PROCESSOR" = "x86"; then
1253 UNAME_PROCESSOR=i386
40583571
DL
1254 UNAME_MACHINE=pc
1255 fi
4e405419 1256 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
c9ac21eb 1257 exit ;;
3a27fa96 1258 *:QNX:*:4*)
40583571 1259 echo i386-pc-qnx
c9ac21eb
PE
1260 exit ;;
1261 NSE-?:NONSTOP_KERNEL:*:*)
1262 echo nse-tandem-nsk${UNAME_RELEASE}
1263 exit ;;
1264 NSR-?:NONSTOP_KERNEL:*:*)
40583571 1265 echo nsr-tandem-nsk${UNAME_RELEASE}
c9ac21eb 1266 exit ;;
40583571
DL
1267 *:NonStop-UX:*:*)
1268 echo mips-compaq-nonstopux
c9ac21eb 1269 exit ;;
40583571
DL
1270 BS2000:POSIX*:*:*)
1271 echo bs2000-siemens-sysv
c9ac21eb 1272 exit ;;
40583571
DL
1273 DS/*:UNIX_System_V:*:*)
1274 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
c9ac21eb 1275 exit ;;
40583571
DL
1276 *:Plan9:*:*)
1277 # "uname -m" is not consistent, so use $cputype instead. 386
1278 # is converted to i386 for consistency with other x86
1279 # operating systems.
1280 if test "$cputype" = "386"; then
1281 UNAME_MACHINE=i386
1282 else
1283 UNAME_MACHINE="$cputype"
1284 fi
1285 echo ${UNAME_MACHINE}-unknown-plan9
c9ac21eb 1286 exit ;;
4e405419
PE
1287 *:TOPS-10:*:*)
1288 echo pdp10-unknown-tops10
c9ac21eb 1289 exit ;;
4e405419
PE
1290 *:TENEX:*:*)
1291 echo pdp10-unknown-tenex
c9ac21eb 1292 exit ;;
4e405419
PE
1293 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1294 echo pdp10-dec-tops20
c9ac21eb 1295 exit ;;
4e405419
PE
1296 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1297 echo pdp10-xkl-tops20
c9ac21eb 1298 exit ;;
4e405419
PE
1299 *:TOPS-20:*:*)
1300 echo pdp10-unknown-tops20
c9ac21eb 1301 exit ;;
4e405419
PE
1302 *:ITS:*:*)
1303 echo pdp10-unknown-its
c9ac21eb
PE
1304 exit ;;
1305 SEI:*:*:SEIUX)
1306 echo mips-sei-seiux${UNAME_RELEASE}
1307 exit ;;
1308 *:DragonFly:*:*)
1309 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1310 exit ;;
1311 *:*VMS:*:*)
1312 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1313 case "${UNAME_MACHINE}" in
1314 A*) echo alpha-dec-vms ; exit ;;
1315 I*) echo ia64-dec-vms ; exit ;;
1316 V*) echo vax-dec-vms ; exit ;;
1317 esac ;;
1318 *:XENIX:*:SysV)
1319 echo i386-pc-xenix
1320 exit ;;
1321 i*86:skyos:*:*)
1322 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1323 exit ;;
88ec8c53
AS
1324 i*86:rdos:*:*)
1325 echo ${UNAME_MACHINE}-pc-rdos
1326 exit ;;
f629b14c
RM
1327esac
1328
f3ec183e 1329#echo '(No uname command or uname output not recognized.)' 1>&2
f629b14c
RM
1330#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1331
4e405419 1332eval $set_cc_for_build
72e8143c 1333cat >$dummy.c <<EOF
6276efb0
RK
1334#ifdef _SEQUENT_
1335# include <sys/types.h>
1336# include <sys/utsname.h>
1337#endif
1d6ce4b0 1338main ()
f629b14c
RM
1339{
1340#if defined (sony)
1341#if defined (MIPSEB)
f3ec183e
RK
1342 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1343 I don't know.... */
1344 printf ("mips-sony-bsd\n"); exit (0);
f629b14c 1345#else
2b49050a
RM
1346#include <sys/param.h>
1347 printf ("m68k-sony-newsos%s\n",
1348#ifdef NEWSOS4
1349 "4"
1350#else
1351 ""
1352#endif
1353 ); exit (0);
f629b14c
RM
1354#endif
1355#endif
1356
f3ec183e 1357#if defined (__arm) && defined (__acorn) && defined (__unix)
c9ac21eb 1358 printf ("arm-acorn-riscix\n"); exit (0);
f3ec183e
RK
1359#endif
1360
1d6ce4b0
RS
1361#if defined (hp300) && !defined (hpux)
1362 printf ("m68k-hp-bsd\n"); exit (0);
f629b14c
RM
1363#endif
1364
1d6ce4b0
RS
1365#if defined (NeXT)
1366#if !defined (__ARCHITECTURE__)
f3ec183e
RK
1367#define __ARCHITECTURE__ "m68k"
1368#endif
1369 int version;
1370 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
72e8143c
BE
1371 if (version < 4)
1372 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1373 else
1374 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
cb94a3da 1375 exit (0);
f3ec183e
RK
1376#endif
1377
f629b14c
RM
1378#if defined (MULTIMAX) || defined (n16)
1379#if defined (UMAXV)
1d6ce4b0 1380 printf ("ns32k-encore-sysv\n"); exit (0);
f629b14c
RM
1381#else
1382#if defined (CMU)
1d6ce4b0 1383 printf ("ns32k-encore-mach\n"); exit (0);
f629b14c 1384#else
1d6ce4b0 1385 printf ("ns32k-encore-bsd\n"); exit (0);
f629b14c
RM
1386#endif
1387#endif
1388#endif
1389
cb94a3da 1390#if defined (__386BSD__)
0f419363 1391 printf ("i386-pc-bsd\n"); exit (0);
f629b14c
RM
1392#endif
1393
1d6ce4b0
RS
1394#if defined (sequent)
1395#if defined (i386)
1396 printf ("i386-sequent-dynix\n"); exit (0);
8760d5df
JB
1397#endif
1398#if defined (ns32000)
1d6ce4b0 1399 printf ("ns32k-sequent-dynix\n"); exit (0);
8760d5df
JB
1400#endif
1401#endif
1402
1d6ce4b0 1403#if defined (_SEQUENT_)
6276efb0
RK
1404 struct utsname un;
1405
1406 uname(&un);
1407
1408 if (strncmp(un.version, "V2", 2) == 0) {
1409 printf ("i386-sequent-ptx2\n"); exit (0);
1410 }
1411 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1412 printf ("i386-sequent-ptx1\n"); exit (0);
1413 }
1414 printf ("i386-sequent-ptx\n"); exit (0);
1415
8760d5df
JB
1416#endif
1417
1d6ce4b0 1418#if defined (vax)
4e405419
PE
1419# if !defined (ultrix)
1420# include <sys/param.h>
1421# if defined (BSD)
1422# if BSD == 43
1423 printf ("vax-dec-bsd4.3\n"); exit (0);
1424# else
1425# if BSD == 199006
1426 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1427# else
1428 printf ("vax-dec-bsd\n"); exit (0);
1429# endif
1430# endif
1431# else
1432 printf ("vax-dec-bsd\n"); exit (0);
1433# endif
1434# else
1435 printf ("vax-dec-ultrix\n"); exit (0);
1436# endif
f3ec183e
RK
1437#endif
1438
1d6ce4b0
RS
1439#if defined (alliant) && defined (i860)
1440 printf ("i860-alliant-bsd\n"); exit (0);
1441#endif
1442
f629b14c
RM
1443 exit (1);
1444}
1445EOF
1446
c9ac21eb
PE
1447$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1448 { echo "$SYSTEM_NAME"; exit; }
f629b14c 1449
f3ec183e
RK
1450# Apollos put the system type in the environment.
1451
c9ac21eb 1452test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
f3ec183e 1453
7499dc83
PB
1454# Convex versions that predate uname can use getsysinfo(1)
1455
1456if [ -x /usr/convex/getsysinfo ]
1457then
1458 case `getsysinfo -f cpu_type` in
1459 c1*)
1460 echo c1-convex-bsd
c9ac21eb 1461 exit ;;
7499dc83
PB
1462 c2*)
1463 if getsysinfo -f scalar_acc
1464 then echo c32-convex-bsd
1465 else echo c2-convex-bsd
1466 fi
c9ac21eb 1467 exit ;;
7499dc83
PB
1468 c34*)
1469 echo c34-convex-bsd
c9ac21eb 1470 exit ;;
7499dc83
PB
1471 c38*)
1472 echo c38-convex-bsd
c9ac21eb 1473 exit ;;
7499dc83
PB
1474 c4*)
1475 echo c4-convex-bsd
c9ac21eb 1476 exit ;;
7499dc83
PB
1477 esac
1478fi
1479
40583571
DL
1480cat >&2 <<EOF
1481$0: unable to guess system type
1482
4e405419
PE
1483This script, last modified $timestamp, has failed to recognize
1484the operating system you are using. It is advised that you
1485download the most up to date version of the config scripts from
40583571 1486
c9ac21eb
PE
1487 http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
1488and
1489 http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
40583571
DL
1490
1491If the version you run ($0) is already up to date, please
1492send the following data and any information you think might be
1493pertinent to <config-patches@gnu.org> in order to provide the needed
1494information to handle your system.
1495
4e405419 1496config.guess timestamp = $timestamp
40583571
DL
1497
1498uname -m = `(uname -m) 2>/dev/null || echo unknown`
1499uname -r = `(uname -r) 2>/dev/null || echo unknown`
1500uname -s = `(uname -s) 2>/dev/null || echo unknown`
1501uname -v = `(uname -v) 2>/dev/null || echo unknown`
1502
1503/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1504/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1505
1506hostinfo = `(hostinfo) 2>/dev/null`
1507/bin/universe = `(/bin/universe) 2>/dev/null`
1508/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1509/bin/arch = `(/bin/arch) 2>/dev/null`
1510/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1511/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1512
1513UNAME_MACHINE = ${UNAME_MACHINE}
1514UNAME_RELEASE = ${UNAME_RELEASE}
1515UNAME_SYSTEM = ${UNAME_SYSTEM}
1516UNAME_VERSION = ${UNAME_VERSION}
1517EOF
f629b14c
RM
1518
1519exit 1
40583571
DL
1520
1521# Local variables:
1522# eval: (add-hook 'write-file-hooks 'time-stamp)
4e405419 1523# time-stamp-start: "timestamp='"
40583571
DL
1524# time-stamp-format: "%:y-%02m-%02d"
1525# time-stamp-end: "'"
1526# End: