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