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