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