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