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