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