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