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