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