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