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