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