Merge from emacs--rel--22
[bpt/emacs.git] / config.guess
CommitLineData
86505919 1#! /bin/sh
764954ef 2# Attempt to guess a canonical system name.
fb7e71ba
KS
3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
4# 2002, 2003, 2004, 2005, 2006, 2007
5# Free Software Foundation, Inc.
40583571 6
fb7e71ba 7timestamp='2007-02-26'
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.
c9ac21eb 59Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
4e405419
PE
60Free Software Foundation, Inc.
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 ;;
01d8fc64 333 i86pc: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 ;;
4e405419
PE
535 *:AIX:*:[45])
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 ;;
a12246ad
DN
794 x86:Interix*:[3456]*)
795 echo i586-pc-interix${UNAME_RELEASE}
796 exit ;;
797 EM64T:Interix*:[3456]* | authenticamd:Interix*:[3456]*)
798 echo x86_64-unknown-interix${UNAME_RELEASE}
c9ac21eb 799 exit ;;
8c95f450
JB
800 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
801 echo i${UNAME_MACHINE}-pc-mks
c9ac21eb 802 exit ;;
c3b4b83f
BE
803 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
804 # How do we know it's Interix rather than the generic POSIX subsystem?
805 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
806 # UNAME_MACHINE based on the output of uname instead of i386?
c9ac21eb
PE
807 echo i586-pc-interix
808 exit ;;
c3b4b83f
BE
809 i*:UWIN*:*)
810 echo ${UNAME_MACHINE}-pc-uwin
c9ac21eb
PE
811 exit ;;
812 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
813 echo x86_64-unknown-cygwin
814 exit ;;
b4991b76 815 p*:CYGWIN*:*)
db31fbb2 816 echo powerpcle-unknown-cygwin
c9ac21eb 817 exit ;;
24509d9c
MM
818 prep*:SunOS:5.*:*)
819 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
c9ac21eb 820 exit ;;
5bd7b591 821 *:GNU:*:*)
c9ac21eb 822 # the GNU system
9bdc0764 823 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
c9ac21eb
PE
824 exit ;;
825 *:GNU/*:*:*)
826 # other systems with GNU libc and userland
827 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
828 exit ;;
40583571
DL
829 i*86:Minix:*:*)
830 echo ${UNAME_MACHINE}-pc-minix
c9ac21eb 831 exit ;;
4e405419
PE
832 arm*:Linux:*:*)
833 echo ${UNAME_MACHINE}-unknown-linux-gnu
c9ac21eb 834 exit ;;
a12246ad
DN
835 avr32*:Linux:*:*)
836 echo ${UNAME_MACHINE}-unknown-linux-gnu
837 exit ;;
c9ac21eb
PE
838 cris:Linux:*:*)
839 echo cris-axis-linux-gnu
840 exit ;;
841 crisv32:Linux:*:*)
842 echo crisv32-axis-linux-gnu
843 exit ;;
844 frv:Linux:*:*)
845 echo frv-unknown-linux-gnu
846 exit ;;
4e405419
PE
847 ia64:Linux:*:*)
848 echo ${UNAME_MACHINE}-unknown-linux-gnu
c9ac21eb
PE
849 exit ;;
850 m32r*:Linux:*:*)
851 echo ${UNAME_MACHINE}-unknown-linux-gnu
852 exit ;;
4e405419
PE
853 m68*:Linux:*:*)
854 echo ${UNAME_MACHINE}-unknown-linux-gnu
c9ac21eb 855 exit ;;
4e405419
PE
856 mips:Linux:*:*)
857 eval $set_cc_for_build
858 sed 's/^ //' << EOF >$dummy.c
859 #undef CPU
860 #undef mips
861 #undef mipsel
862 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
863 CPU=mipsel
864 #else
865 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
866 CPU=mips
867 #else
868 CPU=
869 #endif
870 #endif
871EOF
a12246ad
DN
872 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
873 /^CPU/{
874 s: ::g
875 p
876 }'`"
c9ac21eb 877 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
4e405419 878 ;;
c9ac21eb
PE
879 mips64:Linux:*:*)
880 eval $set_cc_for_build
881 sed 's/^ //' << EOF >$dummy.c
882 #undef CPU
883 #undef mips64
884 #undef mips64el
885 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
886 CPU=mips64el
887 #else
888 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
889 CPU=mips64
890 #else
891 CPU=
892 #endif
893 #endif
894EOF
a12246ad
DN
895 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
896 /^CPU/{
897 s: ::g
898 p
899 }'`"
c9ac21eb
PE
900 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
901 ;;
902 or32:Linux:*:*)
903 echo or32-unknown-linux-gnu
904 exit ;;
4e405419
PE
905 ppc:Linux:*:*)
906 echo powerpc-unknown-linux-gnu
c9ac21eb 907 exit ;;
4e405419
PE
908 ppc64:Linux:*:*)
909 echo powerpc64-unknown-linux-gnu
c9ac21eb 910 exit ;;
4e405419
PE
911 alpha:Linux:*:*)
912 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
913 EV5) UNAME_MACHINE=alphaev5 ;;
914 EV56) UNAME_MACHINE=alphaev56 ;;
915 PCA56) UNAME_MACHINE=alphapca56 ;;
916 PCA57) UNAME_MACHINE=alphapca56 ;;
917 EV6) UNAME_MACHINE=alphaev6 ;;
918 EV67) UNAME_MACHINE=alphaev67 ;;
919 EV68*) UNAME_MACHINE=alphaev68 ;;
920 esac
921 objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
922 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
923 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
c9ac21eb 924 exit ;;
4e405419
PE
925 parisc:Linux:*:* | hppa:Linux:*:*)
926 # Look for CPU level
927 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
928 PA7*) echo hppa1.1-unknown-linux-gnu ;;
929 PA8*) echo hppa2.0-unknown-linux-gnu ;;
930 *) echo hppa-unknown-linux-gnu ;;
931 esac
c9ac21eb 932 exit ;;
4e405419
PE
933 parisc64:Linux:*:* | hppa64:Linux:*:*)
934 echo hppa64-unknown-linux-gnu
c9ac21eb 935 exit ;;
4e405419
PE
936 s390:Linux:*:* | s390x:Linux:*:*)
937 echo ${UNAME_MACHINE}-ibm-linux
c9ac21eb
PE
938 exit ;;
939 sh64*:Linux:*:*)
940 echo ${UNAME_MACHINE}-unknown-linux-gnu
941 exit ;;
4e405419
PE
942 sh*:Linux:*:*)
943 echo ${UNAME_MACHINE}-unknown-linux-gnu
c9ac21eb 944 exit ;;
4e405419
PE
945 sparc:Linux:*:* | sparc64:Linux:*:*)
946 echo ${UNAME_MACHINE}-unknown-linux-gnu
c9ac21eb 947 exit ;;
88ec8c53
AS
948 vax:Linux:*:*)
949 echo ${UNAME_MACHINE}-dec-linux-gnu
950 exit ;;
4e405419
PE
951 x86_64:Linux:*:*)
952 echo x86_64-unknown-linux-gnu
c9ac21eb 953 exit ;;
a12246ad
DN
954 xtensa:Linux:*:*)
955 echo xtensa-unknown-linux-gnu
956 exit ;;
4e405419 957 i*86:Linux:*:*)
6e4bd6ae 958 # The BFD linker knows what the default object file format is, so
68f39654
BE
959 # first see if it will tell us. cd to the root directory to prevent
960 # problems with other programs or directories called `ld' in the path.
4e405419
PE
961 # Set LC_ALL=C to ensure ld outputs messages in English.
962 ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
963 | sed -ne '/supported targets:/!d
36e5df1b 964 s/[ ][ ]*/ /g
4e405419 965 s/.*supported targets: *//
36e5df1b
RS
966 s/ .*//
967 p'`
4e405419
PE
968 case "$ld_supported_targets" in
969 elf32-i386)
40583571
DL
970 TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
971 ;;
4e405419
PE
972 a.out-i386-linux)
973 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
c9ac21eb 974 exit ;;
4e405419 975 coff-i386)
3a27fa96 976 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
c9ac21eb 977 exit ;;
4e405419
PE
978 "")
979 # Either a pre-BFD a.out linker (linux-gnuoldld) or
980 # one that does not give us useful --help.
981 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
c9ac21eb 982 exit ;;
36e5df1b 983 esac
4e405419
PE
984 # Determine whether the default compiler is a.out or elf
985 eval $set_cc_for_build
986 sed 's/^ //' << EOF >$dummy.c
987 #include <features.h>
988 #ifdef __ELF__
989 # ifdef __GLIBC__
990 # if __GLIBC__ >= 2
991 LIBC=gnu
992 # else
993 LIBC=gnulibc1
994 # endif
995 # else
996 LIBC=gnulibc1
997 # endif
998 #else
a12246ad 999 #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
4e405419
PE
1000 LIBC=gnu
1001 #else
1002 LIBC=gnuaout
1003 #endif
1004 #endif
c9ac21eb
PE
1005 #ifdef __dietlibc__
1006 LIBC=dietlibc
1007 #endif
bbe3c2bd 1008EOF
a12246ad
DN
1009 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1010 /^LIBC/{
1011 s: ::g
1012 p
1013 }'`"
c9ac21eb
PE
1014 test x"${LIBC}" != x && {
1015 echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1016 exit
1017 }
1018 test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
4e405419
PE
1019 ;;
1020 i*86:DYNIX/ptx:4*:*)
1021 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1022 # earlier versions are messed up and put the nodename in both
1023 # sysname and nodename.
cb5fbf94 1024 echo i386-sequent-sysv4
c9ac21eb 1025 exit ;;
4e405419 1026 i*86:UNIX_SV:4.2MP:2.*)
469f2168
RS
1027 # Unixware is an offshoot of SVR4, but it has its own version
1028 # number series starting with 2...
1029 # I am not positive that other SVR4 systems won't match this,
1030 # I just have to hope. -- rms.
1031 # Use sysv4.2uw... so that sysv4* matches it.
1032 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
c9ac21eb
PE
1033 exit ;;
1034 i*86:OS/2:*:*)
1035 # If we were able to find `uname', then EMX Unix compatibility
1036 # is probably installed.
1037 echo ${UNAME_MACHINE}-pc-os2-emx
1038 exit ;;
1039 i*86:XTS-300:*:STOP)
1040 echo ${UNAME_MACHINE}-unknown-stop
1041 exit ;;
1042 i*86:atheos:*:*)
1043 echo ${UNAME_MACHINE}-unknown-atheos
1044 exit ;;
1045 i*86:syllable:*:*)
1046 echo ${UNAME_MACHINE}-pc-syllable
1047 exit ;;
1048 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1049 echo i386-unknown-lynxos${UNAME_RELEASE}
1050 exit ;;
1051 i*86:*DOS:*:*)
1052 echo ${UNAME_MACHINE}-pc-msdosdjgpp
1053 exit ;;
4e405419 1054 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
3a27fa96 1055 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
8760d5df 1056 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
3a27fa96 1057 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
8760d5df 1058 else
3a27fa96 1059 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
8760d5df 1060 fi
c9ac21eb
PE
1061 exit ;;
1062 i*86:*:5:[678]*)
1063 # UnixWare 7.x, OpenUNIX and OpenServer 6.
4e405419
PE
1064 case `/bin/uname -X | grep "^Machine"` in
1065 *486*) UNAME_MACHINE=i486 ;;
1066 *Pentium) UNAME_MACHINE=i586 ;;
1067 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1068 esac
1069 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
c9ac21eb 1070 exit ;;
4e405419 1071 i*86:*:3.2:*)
e301e82e
RK
1072 if test -f /usr/options/cb.name; then
1073 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
0f419363 1074 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
e301e82e 1075 elif /bin/uname -X 2>/dev/null >/dev/null ; then
8c95f450
JB
1076 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1077 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1078 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
017e0c85 1079 && UNAME_MACHINE=i586
8c95f450 1080 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
c3b4b83f 1081 && UNAME_MACHINE=i686
8c95f450 1082 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
c3b4b83f 1083 && UNAME_MACHINE=i686
0f419363 1084 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
f629b14c 1085 else
0f419363 1086 echo ${UNAME_MACHINE}-pc-sysv32
f3ec183e 1087 fi
c9ac21eb 1088 exit ;;
16c3fe0e 1089 pc:*:*:*)
3a27fa96 1090 # Left here for compatibility:
16c3fe0e
RS
1091 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1092 # the processor, so we play safe by assuming i386.
1093 echo i386-pc-msdosdjgpp
c9ac21eb 1094 exit ;;
cb94a3da 1095 Intel:Mach:3*:*)
0f419363 1096 echo i386-pc-mach3
c9ac21eb 1097 exit ;;
ad7c5ee1
PB
1098 paragon:*:*:*)
1099 echo i860-intel-osf1
c9ac21eb 1100 exit ;;
f3ec183e
RK
1101 i860:*:4.*:*) # i860-SVR4
1102 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1103 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1104 else # Add other i860-SVR4 vendors below as they are discovered.
1105 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
f629b14c 1106 fi
c9ac21eb 1107 exit ;;
f629b14c
RM
1108 mini*:CTIX:SYS*5:*)
1109 # "miniframe"
1110 echo m68010-convergent-sysv
c9ac21eb 1111 exit ;;
8c95f450
JB
1112 mc68k:UNIX:SYSTEM5:3.51m)
1113 echo m68k-convergent-sysv
c9ac21eb 1114 exit ;;
8c95f450
JB
1115 M680?0:D-NIX:5.3:*)
1116 echo m68k-diab-dnix
c9ac21eb
PE
1117 exit ;;
1118 M68*:*:R3V[5678]*:*)
1119 test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1120 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
1121 OS_REL=''
1122 test -r /etc/.relid \
1123 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1124 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
c9ac21eb 1125 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
d4d94b76 1126 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
c9ac21eb 1127 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
4c07cabb 1128 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
d4d94b76 1129 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
c9ac21eb 1130 && { echo i486-ncr-sysv4; exit; } ;;
4e405419 1131 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
dd1aafd0 1132 echo m68k-unknown-lynxos${UNAME_RELEASE}
c9ac21eb 1133 exit ;;
f3ec183e 1134 mc68030:UNIX_System_V:4.*:*)
bc7c9d8c 1135 echo m68k-atari-sysv4
c9ac21eb 1136 exit ;;
dd1aafd0
DM
1137 TSUNAMI:LynxOS:2.*:*)
1138 echo sparc-unknown-lynxos${UNAME_RELEASE}
c9ac21eb 1139 exit ;;
4e405419 1140 rs6000:LynxOS:2.*:*)
dd1aafd0 1141 echo rs6000-unknown-lynxos${UNAME_RELEASE}
c9ac21eb 1142 exit ;;
4e405419
PE
1143 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1144 echo powerpc-unknown-lynxos${UNAME_RELEASE}
c9ac21eb 1145 exit ;;
d4d94b76
PB
1146 SM[BE]S:UNIX_SV:*:*)
1147 echo mips-dde-sysv${UNAME_RELEASE}
c9ac21eb 1148 exit ;;
72e8143c
BE
1149 RM*:ReliantUNIX-*:*:*)
1150 echo mips-sni-sysv4
c9ac21eb 1151 exit ;;
cb94a3da
PB
1152 RM*:SINIX-*:*:*)
1153 echo mips-sni-sysv4
c9ac21eb 1154 exit ;;
cb94a3da
PB
1155 *:SINIX-*:*:*)
1156 if uname -p 2>/dev/null >/dev/null ; then
1157 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1158 echo ${UNAME_MACHINE}-sni-sysv4
1159 else
1160 echo ns32k-sni-sysv
1161 fi
c9ac21eb 1162 exit ;;
4e405419
PE
1163 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1164 # says <Richard.M.Bartel@ccMail.Census.GOV>
c0c0e4bd 1165 echo i586-unisys-sysv4
c9ac21eb 1166 exit ;;
dd1aafd0
DM
1167 *:UNIX_System_V:4*:FTX*)
1168 # From Gerald Hewes <hewes@openmarket.com>.
1169 # How about differentiating between stratus architectures? -djm
1170 echo hppa1.1-stratus-sysv4
c9ac21eb 1171 exit ;;
dd1aafd0
DM
1172 *:*:*:FTX*)
1173 # From seanf@swdc.stratus.com.
1174 echo i860-stratus-sysv4
c9ac21eb
PE
1175 exit ;;
1176 i*86:VOS:*:*)
1177 # From Paul.Green@stratus.com.
1178 echo ${UNAME_MACHINE}-stratus-vos
1179 exit ;;
4e405419
PE
1180 *:VOS:*:*)
1181 # From Paul.Green@stratus.com.
1182 echo hppa1.1-stratus-vos
c9ac21eb 1183 exit ;;
ad3583e4
ILT
1184 mc68*:A/UX:*:*)
1185 echo m68k-apple-aux${UNAME_RELEASE}
c9ac21eb 1186 exit ;;
40583571 1187 news*:NEWS-OS:6*:*)
d3dcea6f 1188 echo mips-sony-newsos6
c9ac21eb 1189 exit ;;
20606274 1190 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
262df1e2
ILT
1191 if [ -d /usr/nec ]; then
1192 echo mips-nec-sysv${UNAME_RELEASE}
1193 else
1194 echo mips-unknown-sysv${UNAME_RELEASE}
1195 fi
c9ac21eb 1196 exit ;;
05b0d692
RS
1197 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1198 echo powerpc-be-beos
c9ac21eb 1199 exit ;;
05b0d692
RS
1200 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1201 echo powerpc-apple-beos
c9ac21eb 1202 exit ;;
05b0d692
RS
1203 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1204 echo i586-pc-beos
c9ac21eb 1205 exit ;;
72e8143c
BE
1206 SX-4:SUPER-UX:*:*)
1207 echo sx4-nec-superux${UNAME_RELEASE}
c9ac21eb 1208 exit ;;
72e8143c
BE
1209 SX-5:SUPER-UX:*:*)
1210 echo sx5-nec-superux${UNAME_RELEASE}
c9ac21eb 1211 exit ;;
8c95f450
JB
1212 SX-6:SUPER-UX:*:*)
1213 echo sx6-nec-superux${UNAME_RELEASE}
c9ac21eb 1214 exit ;;
a12246ad
DN
1215 SX-7:SUPER-UX:*:*)
1216 echo sx7-nec-superux${UNAME_RELEASE}
1217 exit ;;
1218 SX-8:SUPER-UX:*:*)
1219 echo sx8-nec-superux${UNAME_RELEASE}
1220 exit ;;
1221 SX-8R:SUPER-UX:*:*)
1222 echo sx8r-nec-superux${UNAME_RELEASE}
1223 exit ;;
72e8143c
BE
1224 Power*:Rhapsody:*:*)
1225 echo powerpc-apple-rhapsody${UNAME_RELEASE}
c9ac21eb 1226 exit ;;
72e8143c
BE
1227 *:Rhapsody:*:*)
1228 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
c9ac21eb 1229 exit ;;
40583571 1230 *:Darwin:*:*)
c9ac21eb
PE
1231 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1232 case $UNAME_PROCESSOR in
c9ac21eb
PE
1233 unknown) UNAME_PROCESSOR=powerpc ;;
1234 esac
1235 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1236 exit ;;
40583571 1237 *:procnto*:*:* | *:QNX:[0123456789]*:*)
4e405419
PE
1238 UNAME_PROCESSOR=`uname -p`
1239 if test "$UNAME_PROCESSOR" = "x86"; then
1240 UNAME_PROCESSOR=i386
40583571
DL
1241 UNAME_MACHINE=pc
1242 fi
4e405419 1243 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
c9ac21eb 1244 exit ;;
3a27fa96 1245 *:QNX:*:4*)
40583571 1246 echo i386-pc-qnx
c9ac21eb
PE
1247 exit ;;
1248 NSE-?:NONSTOP_KERNEL:*:*)
1249 echo nse-tandem-nsk${UNAME_RELEASE}
1250 exit ;;
1251 NSR-?:NONSTOP_KERNEL:*:*)
40583571 1252 echo nsr-tandem-nsk${UNAME_RELEASE}
c9ac21eb 1253 exit ;;
40583571
DL
1254 *:NonStop-UX:*:*)
1255 echo mips-compaq-nonstopux
c9ac21eb 1256 exit ;;
40583571
DL
1257 BS2000:POSIX*:*:*)
1258 echo bs2000-siemens-sysv
c9ac21eb 1259 exit ;;
40583571
DL
1260 DS/*:UNIX_System_V:*:*)
1261 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
c9ac21eb 1262 exit ;;
40583571
DL
1263 *:Plan9:*:*)
1264 # "uname -m" is not consistent, so use $cputype instead. 386
1265 # is converted to i386 for consistency with other x86
1266 # operating systems.
1267 if test "$cputype" = "386"; then
1268 UNAME_MACHINE=i386
1269 else
1270 UNAME_MACHINE="$cputype"
1271 fi
1272 echo ${UNAME_MACHINE}-unknown-plan9
c9ac21eb 1273 exit ;;
4e405419
PE
1274 *:TOPS-10:*:*)
1275 echo pdp10-unknown-tops10
c9ac21eb 1276 exit ;;
4e405419
PE
1277 *:TENEX:*:*)
1278 echo pdp10-unknown-tenex
c9ac21eb 1279 exit ;;
4e405419
PE
1280 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1281 echo pdp10-dec-tops20
c9ac21eb 1282 exit ;;
4e405419
PE
1283 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1284 echo pdp10-xkl-tops20
c9ac21eb 1285 exit ;;
4e405419
PE
1286 *:TOPS-20:*:*)
1287 echo pdp10-unknown-tops20
c9ac21eb 1288 exit ;;
4e405419
PE
1289 *:ITS:*:*)
1290 echo pdp10-unknown-its
c9ac21eb
PE
1291 exit ;;
1292 SEI:*:*:SEIUX)
1293 echo mips-sei-seiux${UNAME_RELEASE}
1294 exit ;;
1295 *:DragonFly:*:*)
1296 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1297 exit ;;
1298 *:*VMS:*:*)
1299 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1300 case "${UNAME_MACHINE}" in
1301 A*) echo alpha-dec-vms ; exit ;;
1302 I*) echo ia64-dec-vms ; exit ;;
1303 V*) echo vax-dec-vms ; exit ;;
1304 esac ;;
1305 *:XENIX:*:SysV)
1306 echo i386-pc-xenix
1307 exit ;;
1308 i*86:skyos:*:*)
1309 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1310 exit ;;
88ec8c53
AS
1311 i*86:rdos:*:*)
1312 echo ${UNAME_MACHINE}-pc-rdos
1313 exit ;;
f629b14c
RM
1314esac
1315
f3ec183e 1316#echo '(No uname command or uname output not recognized.)' 1>&2
f629b14c
RM
1317#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1318
4e405419 1319eval $set_cc_for_build
72e8143c 1320cat >$dummy.c <<EOF
6276efb0
RK
1321#ifdef _SEQUENT_
1322# include <sys/types.h>
1323# include <sys/utsname.h>
1324#endif
1d6ce4b0 1325main ()
f629b14c
RM
1326{
1327#if defined (sony)
1328#if defined (MIPSEB)
f3ec183e
RK
1329 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1330 I don't know.... */
1331 printf ("mips-sony-bsd\n"); exit (0);
f629b14c 1332#else
2b49050a
RM
1333#include <sys/param.h>
1334 printf ("m68k-sony-newsos%s\n",
1335#ifdef NEWSOS4
1336 "4"
1337#else
1338 ""
1339#endif
1340 ); exit (0);
f629b14c
RM
1341#endif
1342#endif
1343
f3ec183e 1344#if defined (__arm) && defined (__acorn) && defined (__unix)
c9ac21eb 1345 printf ("arm-acorn-riscix\n"); exit (0);
f3ec183e
RK
1346#endif
1347
1d6ce4b0
RS
1348#if defined (hp300) && !defined (hpux)
1349 printf ("m68k-hp-bsd\n"); exit (0);
f629b14c
RM
1350#endif
1351
1d6ce4b0
RS
1352#if defined (NeXT)
1353#if !defined (__ARCHITECTURE__)
f3ec183e
RK
1354#define __ARCHITECTURE__ "m68k"
1355#endif
1356 int version;
1357 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
72e8143c
BE
1358 if (version < 4)
1359 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1360 else
1361 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
cb94a3da 1362 exit (0);
f3ec183e
RK
1363#endif
1364
f629b14c
RM
1365#if defined (MULTIMAX) || defined (n16)
1366#if defined (UMAXV)
1d6ce4b0 1367 printf ("ns32k-encore-sysv\n"); exit (0);
f629b14c
RM
1368#else
1369#if defined (CMU)
1d6ce4b0 1370 printf ("ns32k-encore-mach\n"); exit (0);
f629b14c 1371#else
1d6ce4b0 1372 printf ("ns32k-encore-bsd\n"); exit (0);
f629b14c
RM
1373#endif
1374#endif
1375#endif
1376
cb94a3da 1377#if defined (__386BSD__)
0f419363 1378 printf ("i386-pc-bsd\n"); exit (0);
f629b14c
RM
1379#endif
1380
1d6ce4b0
RS
1381#if defined (sequent)
1382#if defined (i386)
1383 printf ("i386-sequent-dynix\n"); exit (0);
8760d5df
JB
1384#endif
1385#if defined (ns32000)
1d6ce4b0 1386 printf ("ns32k-sequent-dynix\n"); exit (0);
8760d5df
JB
1387#endif
1388#endif
1389
1d6ce4b0 1390#if defined (_SEQUENT_)
6276efb0
RK
1391 struct utsname un;
1392
1393 uname(&un);
1394
1395 if (strncmp(un.version, "V2", 2) == 0) {
1396 printf ("i386-sequent-ptx2\n"); exit (0);
1397 }
1398 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1399 printf ("i386-sequent-ptx1\n"); exit (0);
1400 }
1401 printf ("i386-sequent-ptx\n"); exit (0);
1402
8760d5df
JB
1403#endif
1404
1d6ce4b0 1405#if defined (vax)
4e405419
PE
1406# if !defined (ultrix)
1407# include <sys/param.h>
1408# if defined (BSD)
1409# if BSD == 43
1410 printf ("vax-dec-bsd4.3\n"); exit (0);
1411# else
1412# if BSD == 199006
1413 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1414# else
1415 printf ("vax-dec-bsd\n"); exit (0);
1416# endif
1417# endif
1418# else
1419 printf ("vax-dec-bsd\n"); exit (0);
1420# endif
1421# else
1422 printf ("vax-dec-ultrix\n"); exit (0);
1423# endif
f3ec183e
RK
1424#endif
1425
1d6ce4b0
RS
1426#if defined (alliant) && defined (i860)
1427 printf ("i860-alliant-bsd\n"); exit (0);
1428#endif
1429
f629b14c
RM
1430 exit (1);
1431}
1432EOF
1433
c9ac21eb
PE
1434$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1435 { echo "$SYSTEM_NAME"; exit; }
f629b14c 1436
f3ec183e
RK
1437# Apollos put the system type in the environment.
1438
c9ac21eb 1439test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
f3ec183e 1440
7499dc83
PB
1441# Convex versions that predate uname can use getsysinfo(1)
1442
1443if [ -x /usr/convex/getsysinfo ]
1444then
1445 case `getsysinfo -f cpu_type` in
1446 c1*)
1447 echo c1-convex-bsd
c9ac21eb 1448 exit ;;
7499dc83
PB
1449 c2*)
1450 if getsysinfo -f scalar_acc
1451 then echo c32-convex-bsd
1452 else echo c2-convex-bsd
1453 fi
c9ac21eb 1454 exit ;;
7499dc83
PB
1455 c34*)
1456 echo c34-convex-bsd
c9ac21eb 1457 exit ;;
7499dc83
PB
1458 c38*)
1459 echo c38-convex-bsd
c9ac21eb 1460 exit ;;
7499dc83
PB
1461 c4*)
1462 echo c4-convex-bsd
c9ac21eb 1463 exit ;;
7499dc83
PB
1464 esac
1465fi
1466
40583571
DL
1467cat >&2 <<EOF
1468$0: unable to guess system type
1469
4e405419
PE
1470This script, last modified $timestamp, has failed to recognize
1471the operating system you are using. It is advised that you
1472download the most up to date version of the config scripts from
40583571 1473
c9ac21eb
PE
1474 http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
1475and
1476 http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
40583571
DL
1477
1478If the version you run ($0) is already up to date, please
1479send the following data and any information you think might be
1480pertinent to <config-patches@gnu.org> in order to provide the needed
1481information to handle your system.
1482
4e405419 1483config.guess timestamp = $timestamp
40583571
DL
1484
1485uname -m = `(uname -m) 2>/dev/null || echo unknown`
1486uname -r = `(uname -r) 2>/dev/null || echo unknown`
1487uname -s = `(uname -s) 2>/dev/null || echo unknown`
1488uname -v = `(uname -v) 2>/dev/null || echo unknown`
1489
1490/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1491/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1492
1493hostinfo = `(hostinfo) 2>/dev/null`
1494/bin/universe = `(/bin/universe) 2>/dev/null`
1495/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1496/bin/arch = `(/bin/arch) 2>/dev/null`
1497/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1498/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1499
1500UNAME_MACHINE = ${UNAME_MACHINE}
1501UNAME_RELEASE = ${UNAME_RELEASE}
1502UNAME_SYSTEM = ${UNAME_SYSTEM}
1503UNAME_VERSION = ${UNAME_VERSION}
1504EOF
f629b14c
RM
1505
1506exit 1
40583571
DL
1507
1508# Local variables:
1509# eval: (add-hook 'write-file-hooks 'time-stamp)
4e405419 1510# time-stamp-start: "timestamp='"
40583571
DL
1511# time-stamp-format: "%:y-%02m-%02d"
1512# time-stamp-end: "'"
1513# End: